能够使用枚举类型声明表明整数常量的符号名称。
经过enum,建立一个新类型,并指定它能够拥有的值。(就像日常用一个整形变量,咱们指定它等于0的时候表明什么,1呢,2呢。。。而经过枚举,就
增长了程序的可读性,好看)
它能够这样声明:
enum color {red,orange,yellow,green,blue,violet}; //声明enum color这种枚举类型
enum color c; //声明c为enum color类型
枚举常量都是int类型的常量。列表中的枚举常量默认被指定为整数0、一、2。。。也能够随便指定它的数值。在指定数值后面的没赋值的数默认递加1。
一个利用到enum的例子以下:
编写一个将输入复制到输出的程序,并将其中的多个空格用一个空格表示。
思路:这个程序在于你每读入一个字符,你都要根据它前面是在空格的状态(in)仍是非空格的状态来决定输出。
1 #include<stdio.h>
2
3 int main(void) 4 { 5 enum state {in,out}; //in the space state
6
7 char c; 8 enum state s; 9
10 s = out; 11 while ((c = getchar()) != EOF) 12 { 13 if (c == ' ') 14 s = in; 15 else
16 { 17 if (s == in) 18 { 19 putchar(' '); 20 s = out; 21 } 22 putchar(c); 23 } 24 } 25 return 0; 26 }