A-A+
下面程序的输出是【 】 main() {enum em{eml=3 em2=1 em3};
问题详情
下面程序的输出是【 】 main() {enum em{eml=3,em2=1,em3}; char*aa[]={"AA,"BB","CC","DD"} printf("%s%s%n",aa[em1],aa[em2],aa[em3]); }
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:DDBBCC
C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上—个元素存在并有明确值的情况下,这个牧举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=cm2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3]、aa[1]、aa[2],因此最后的打印结果应当为"DDBBCC"。