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

admin2009-04-15  27

问题 下面程序的输出走【  】。
   main()
   {enum em {em1=3,em2=1,em3};
    char*aa[]={"AA","BB","CC","DD"};
    printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
   }

选项

答案DDBBCC

解析 C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=em2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3]、aa[1]、aa[2],因此最后的打印结果应当为“DDBBCC”。
转载请注明原文地址:https://kaotiyun.com/show/KOXp777K
0

最新回复(0)