一道腾讯笔试题
下列程序数据结果是多少(大 A 的 ascii 码是 65 )?
#include <stdio.h>
enum etest{
eparam1,
eparam2,
eparam3=10,
eparam4,
eparam5='a',
eparam6
}epr;
int main()
{
printf(“%d,%d”,eparam4,eparam6);
return 0;
}
枚举类型是将变量或对象可能存在的值一一例举出来的一种类型。
上题中:
- 定义了枚举类型etest,它可能存在的值为eparam1~eparam6
- 并且创建了一个枚举类型为etest的变量epr
如果不对enum类型中的元素进行赋值,那么会自动赋值递增的值
上题中:
- eparam1,eparam2未赋值,则它们的值分别为0,1
- eparam4未赋值,则它的值在eparam3基础上递增1,为11
- eparam6未赋值,则它的值在eparam5基础上递增1,为98(’a’的值为65+32=97)
所以最后输出结果为11,98