C语言中的枚举常量

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1vR4y1H7MY/?p=12

以星期为例:

#include<stdio.h>
// mon = 1, tue = 2, wed = 3, thu = 4, fri = 5, sat = 6, sun = 7
int main()
{
	int wx; // 1 2 3 4 5 6 7
	wx = 1;
	wx = 7;
	wx = 9; //实际没有9对应周几
	printf("%d \n", wx);
	return 0;
}

如上,有时候我们需要限制取值的范围。

#include<stdio.h>

enum week 
{ 
	mon = 1, 
	tue = 2, 
	wed = 3, 
	thu = 4, 
	fri = 5, 
	sat = 6, 
	sun = 7 
};

int main()
{
	enum week wx;
	wx = mon;
	wx = sun;
	printf("%d \n", wx);
	return 0;
}
7

枚举只能声明整型


#include<stdio.h>

enum week
{
	mon = 1,
	tue,
	wed,
	thu,
	fri,
	sat,
	sun
};

int main()
{
	enum week wx;
	wx = mon;
	wx = tue;
	printf("%d \n", wx);
	wx = sun;
	printf("%d \n", wx);
	return 0;
}
2
7

如上,只给一个枚举值,之后的枚举值不给,默认依次递增1。