问题
单项选择题
有下列程序: #include<stdio.h> 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 1:a[i]--; )break; case 1:a[i]=0; } for(i=0;i<4;i++)primf("%d",a[i]);printf("\n"); } 程序运行后的输出结果是( )。
A.3 3 4 4
B.2 0 5 0
C.3 0 4 0
D.0 3 0 4
答案
参考答案:C
解析: 进入程序中第一个for循环,当i=0,符合 i%2中case=0的条件,因此执行switch(a[i]%2),取数组 a中的第一个数,执行case 0:a[i]++;break;,然后跳出第一次循环,9[0]=3,第二次循环switch(i%2)后执行case 1:a[i]=0;,所以a[1]=0第三次循环同第一次,执行case 1:a[i]--;,所以a[2]=4,第四次同第二次,所以a[3]=0。