问题 单项选择题

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

for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");

程序运行后的输出结果是______。

A.3040
B.2050
C.3344
D.0304

答案

参考答案:A

解析: 第一次循环i为0,i%2为0,执行switch(a[0]%2)中的case 0语句后内容即a[0]++,a[0]的值变成3;第二次循环i的值为1,i%2为1,执行case 1:a[i]=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[i]=0;因此a[3]的值变成0。故本题答案为A。

选择题
选择题