下面程序的运行结果是_____________。 #define P(a)printf(“%d”,a) main() { intj,a[]={1,2,3,4,5,6,7},i=5; for(j=3;j>1;j--)

admin2012-08-23  29

问题 下面程序的运行结果是_____________。
    #define P(a)printf(“%d”,a)
    main()
    {  intj,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]);
           }
       }
    }

选项

答案5 5

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

最新回复(0)