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

admin2019-06-09  34

问题 有以下程序:
#include
main()
{inta[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{case0:switch(a%2)
{case0:a++;break;
case1:a--;
}break;
case1: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]的值变成0;第三次循环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://jikaoti.com/ti/5df0FFFM
0

最新回复(0)