目录
枚举的定义
enum 枚举名{枚举成员1,枚举成员2,...};
enum Dir{UP,DOWN,LEFT,RIGHT};
printf("UP = %d\n",UP);
printf("DOWN = %d\n",DOWN);
printf("LEFT = %d\n",LEFT);
printf("RIGHT = %d\n",RIGHT);
UP = 0
DOWN = 1
LEFT = 2
RIGHT = 3
enum Dir{UP,DOWN = 10,LEFT,RIGHT};
printf("UP = %d\n",UP);
printf("DOWN = %d\n",DOWN);
printf("LEFT = %d\n",LEFT);
printf("RIGHT = %d\n",RIGHT);
UP = 0
DOWN = 10
LEFT = 11
RIGHT =12
enum Dir{UP,DOWN,LEFT,RIGHT};
char arr[RIGHT];
int i = UP;
i = DOWN + 3;
枚举变量的定义
enum Dir dir1;
enum Dir{UP = -3,DOWN,LEFT,RIGHT}dir2;
enum {UP = -3,DOWN,LEFT,RIGHT}dir3;
枚举变量的初始化与赋值
enum Dir dir1 = LEFT;
enum Dir dir2;
dir2 = DOWN;
enum Dir dir = 2;
dir = 1;
#include <stdio.h>
#include <ctype.h>
enum Dir{UP,DOWN,LEFT,RIGHT};
void printDirect(enum Dir dir)
{
switch(dir)
{
case UP:
printf("The direction is UP.\n");
break;
case DOWN:
printf("The direction is DOWN.\n");
break;
case LEFT:
printf("The direction is LEFT.\n");
break;
case RIGHT:
printf("The direction is RIGHT.\n");
break;
}
}
int main()
{
enum Dir dir;
char ch;
printf("Please determine a direction:\n");
scanf("%c",&ch);
ch = islower(ch) ? toupper(ch) : ch;
switch(ch)
{
case 'W':
dir = UP;
break;
case 'S':
dir = DOWN;
break;
case 'A':
dir = LEFT;
break;
case 'D':
dir = RIGHT;
break;
}
printDirect(dir);
return 0;
}
Please determine a direction:
a
The direction is LEFT.