
枚举关键字enum可以定义一个变量吗?如enum day;这下面的三个enum各自作用是什么???
枚举关键字enum可以定义一个变量吗?如enumday;这下面的三个enum各自作用是什么???#include<stdio.h>enumweek{sun,mon,tur...
枚举关键字enum可以定义一个变量吗?如enum day;这下面的三个enum各自作用是什么???#include<stdio.h>
enum week{sun,mon,tur,wed,thu,fri,sat};
enum week tomorrow(day)
enum day;
{int n;
n=((int)day+1)%7;
return ((enum week)n);
}
main()
{
enum week day1,day2;
char *name[]={"sun","mon","tur","wed","thu","fri","sat"};
int n;
scanf("%d",&n);
day1=(enum week)n;
day2=tomorrow(day1);
printf("%s",name[(int)day2]);
} 展开
enum week{sun,mon,tur,wed,thu,fri,sat};
enum week tomorrow(day)
enum day;
{int n;
n=((int)day+1)%7;
return ((enum week)n);
}
main()
{
enum week day1,day2;
char *name[]={"sun","mon","tur","wed","thu","fri","sat"};
int n;
scanf("%d",&n);
day1=(enum week)n;
day2=tomorrow(day1);
printf("%s",name[(int)day2]);
} 展开
2个回答
展开全部
enum在C语言里面, 和struct, union这两个关键字的作用是同等地位的,都是定义一个新的类型,而不是变量。
比如
enum week{sun,mon,tur,wed,thu,fri,sat};
这个就是定义了一个类型 enum week。 注意 这两个单词加起来才是一个类型。
在你的代码中 ,只有这个是定义类型的。
其它的 有一些错误。 修改如下。 另外,关于enum部分的 给你加了注释
#include<stdio.h>
enum week{sun,mon,tur,wed,thu,fri,sat};//定义类型enum week
enum week tomorrow(enum week day)//不要用原本的写法。 不是所有编译器都支持的。
//这里是定义了一个函数,参数为enum week类型的day, 返回值为enum week类型。 功能是求下一天是周几。
{int n;
n=((int)day+1)%7;
return ((enum week)n);//将n强制转换为enum week类型。 其实这里的强制转换是没必要的。 可以去掉。
}
main()
{
enum week day1,day2;//定义两个enum week类型的变量,day1和day2
char *name[]={"sun","mon","tur","wed","thu","fri","sat"};
int n;
scanf("%d",&n);
day1=(enum week)n;//这里 其实也是没必要的,另外, 输入的n必须是0到6之间的,否则会出错。
day2=tomorrow(day1);
printf("%s",name[(int)day2]);
}
追问
哇,6的很
谢啦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询