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

admin2021-07-09  61

问题 有以下程序:
#include<stdio.h>
main()
{int a[]={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)中的case0语句后内容即a[0]++,a[0]的值变成3;第二次循环i的值为1,i%2为1,执行case1:a=0;所以a[1]的值变成0;第三次循环i的值为2,i%2为0,执行switch(a[2]%2)中的casel语句后的内容a[2]--,a[2]的值变成4;第四次循环i的值为3,i%2为1,执行case1:a=0;所以a[3]的值变成0。
转载请注明原文地址:https://jikaoti.com/ti/jrd0FFFM
0

最新回复(0)