A-A+
下列程序的运行结果是______。 define P(A) printf(\%d A) m
问题详情
下列程序的运行结果是______。 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: case2:P(a[i++]);break; case 3:P(a[--i]); } } }
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:5 5
分析程序执行过程,第一次循环时,i=3,i=5,因为switch(3),所以执行case3,调用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。