有以下程序: #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)     

admin2019-07-10  12

问题 有以下程序:
#include   <stdio.h>
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]的值变成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/lRkiFFFM
0

相关试题推荐
最新回复(0)