这是谭浩强书上的例题:
i++,j++,k++在vs2008中编译错误,换成i=(enum color)(int(i)+1)就行了,可是书上就是写的i++,j++,k++啊,难道是别的地方写错了?求大侠们指导!
#include<stdio.h>
#include<conio.h>
void main()
{
enum color{red,yellow,blue,white,black};
enum color i,j,k,pri;
int n=0,loop;
for(i=red;i<=black;i++)
for(j=red;j<=black;j++)
{
if(i!=j)
for(k=red;k<=black;k++)
{
if((k!=i)&&(k!=j))
{
n++;
printf("%-5d",n);
for(loop=1;loop<=3;loop++)
{
switch(loop)
{
case 1:pri=i;break;
case 2:pri=j;break;
case 3:pri=k;break;
}
switch(pri)
{
case red:printf("%-10s","red");break;
case yellow:printf("%-10s","yellow");break;
case blue:printf("%-10s","blue");break;
case white:printf("%-10s","white");break;
case black:printf("%-10s","black");break;
}
}
putchar('\n');
}
}
}
printf("the total amount of all the possible circunstance is: %d",n);
getch();
}
怎么把编译模式设置为C?
追答没用过VS2008,具体的我说不上来。不过,根据以前用vc6的经验,应该可以有下面几种方法:
1. 在设置中工程的编译选项中添加/TC的选项
2. 如果用命令行,则加上/TC选项
3. 建一个文件夹,新建一个扩展名为c的文件,如myapp.c,打开方式选vs,会新建一个工程,以后要写其他程序,也可以直接用这个工程了。
C语言中枚举类型可以进行自加自减操作吗
不可以的。那个相当与一个#define的定义。以下是官方说明 C语言或C++的一种构造类型,它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。定义:是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内....
枚举型变量能进行自增运算吗
原因:C支持枚举类型的自增操作,但C++不支持。具体来说,C++允许枚举类型到整型类型的隐式转换,但不支持整型类型到枚举类型的隐式转换。比如,有整型变量i_var和枚举变量m_var,则允许i_var=m_var+1;不允许m_var=i_var+1;如果你的这段程序是C++的话,想要实现类似clr++的功能,只能用clr=(enum color)(clr+1...
C语言中关于枚举类型
在C语言中,枚举值是常量,不能被重新赋值。例如,尝试对枚举元素进行赋值,如`sun=5`或`sun=mon`,都是不允许的。正确的方式是将枚举值赋给枚举变量,如`a=sun`。另外,虽然枚举元素有自己的数值,但它们不是字符常量,不能直接用数字赋值,需要通过强制类型转换,如`a=(enum weekday)2`等同于...
c语言中enum类型的用法!
若把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。枚举类型的...
c语言枚举类型enum用法
enum typeName { valueName1, valueName2, valueName3, ... };typeName是枚举类型的名字,花括号里面的元素(枚举成员)是常量而不是变量,这个一定要搞清楚,因为枚举成员的是常量,所以不能对它们赋值,只能将它们的值赋给其他的变量。枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更...
c语言枚举类型enum用法
这种数据类型描述了一组整数值的集合。枚举与宏非常相似,都是通过名字来引用值,但枚举在编译阶段使用,而宏在预处理阶段使用。枚举成员在枚举类型中是常量,而不是变量,因此不能重新赋值。这一点在使用时需要特别注意。总结来说,枚举是C语言中一种增强代码可读性和简洁性的数据类型。
关于C语言中枚举类型 枚举变量可以赋值为不在范围内的值吗?如下边的...
的变量color 只能取值为花括号内的任何一个值,如果赋给该类型变量的值不在列表中,则会报错。我看了一下你提供的教学视频,他是在ubuntu系统下编译的,linux的编译器肯定有所不同。据我所知,变量值超出范围在microsoft的编译器这边都会报错。上面所说的强制转换:一个原本不是color_type类型的变量被...
C语言中的枚举类型
枚举元素在C语言中被视为常量,因此你不能给它们赋值,如 `sun = 7;` 是错误的。每个枚举元素都有自己的值,这个值从0开始自动递增,除非你在声明时指定了值。枚举值可以用于比较和判断,例如:```c if (day == mon) { \/\/ ...} ```然而,你不能直接将一个整数赋值给枚举变量,例如 `...
c语言枚举类型枚举常量枚举常量到底可不可以赋值
枚举常量 不可以赋值,但可以在定义的时候 指定值。 这个可以认为是定义值,而不是赋值。比如 enum{ a, b=3, c=100, d};这里 a=0 b=3 c=100 d=101 但这个可不是赋值。另外 如果是常变量, 理论上不可以赋值, 但C语言对此约束不大, 可以通过指针转换方式,强制赋值, 实...
enum在c语言中怎么用 (枚举型)
定义枚举类型enum YOURENUMTYPE{ID1,\/\/如果不额外指定则第一个标识等于整数0,后续依次加1ID2,ID3=7,IDn\/\/最后一个标识符后面没有逗号};\/\/注意一定要加上这个分号定义枚举变量enum YOURENUMTYPE varname;给枚举变量赋值 varname = IDx;举个完整的例子enum FRUIT{APPLE,PEAR,ORANGE,PEACH,GRAPE,...