0
点赞
收藏
分享

微信扫一扫

【枚举的定义;枚举变量的定义、初始化和赋值】(学习笔记16--枚举)

目录

枚举的定义

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.
举报

相关推荐

0 条评论