下列程序的运行结果是______。 #define P(A) printf("%d",A) main() { int j,a[]={1,2,3,4,5,6,7),i=5; for(j=3;j>1;j--) { switch(j)

admin2010-05-22  24

问题 下列程序的运行结果是______。
#define P(A)  printf("%d",A)
main()
{   int j,a[]={1,2,3,4,5,6,7),i=5;
   for(j=3;j>1;j--)
   {   switch(j)
       {   case 1:
           case 2:P(a[i++]);break;
           case 3:P(a[--i]);
       }
   }
}

选项

答案55

解析 分析程序执行过程,第一次循环时,j=3,i=5。因为switch(3),所以执行case 3,调用P(a[--i])=P(a[4])=P(5),输出5;第二次循环时,j=2,i=4,因为switch(2),所以执行case2,调用P(a[i++])-P(a[4])=P(5),输出5,之后i自加等于5。
转载请注明原文地址:https://kaotiyun.com/show/qkWp777K
0

最新回复(0)