有以下程序: #include main() { int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2). {case 0:switch(a[i]%2) { case 0:a[i]++;break; case

admin2015-07-30  12

问题 有以下程序:
#include
main()
{  int a[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2).
{case 0:switch(a%2)
{  case 0:a++;break;
case 1:a- -;
}break;
case 1:a=0;
}
for(i=0;i<4;i++)printf("%d",a);printf("\n");
}
程序运行后的输出结果是(    )。

选项 A、0  3  0  4
B、2  0  5  0
C、3  3  4  4
D、3  0  4  0

答案D

解析 第一次循环i为0,i%2为0,执行switch(a[0]%2)中的case 0语句后内容即a[0]++,a[0]的值变成3;第二次循环i的值为1,i%2为1,执行case 1:a=0;所以a[1]的值变成O;第三次循环i的值为2,i%2为0,执行switch(a[2]%2)中的case 1语句后的内容a[2]--,a[2]的值变成4;第四次循环i的值为3,i%2为1,执行case 1:a=0;,所以a[3]的值变成0。
转载请注明原文地址:https://kaotiyun.com/show/JsDp777K
0

最新回复(0)