A-A+

下面程序的输出是【 】。 main() {enum em{em1=3 em2=l em3};

2022-08-12 19:06:27 问答库 阅读 197 次

问题详情

下面程序的输出是【 】。 main() {enum em{em1=3,em2=l,em3}; char*aa[]={"AA","BB","CC","DD"}; printf("%s%sn",aa[eml],aa[em2],aa[em3]); }


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:DDBBCC
C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=em2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3],aa[1]、aa[2],因此最后的打印结果应当为“DDBBCC”。

考点:程序