问题 填空题

下列程序的运行结果是______。
#define P(a) printf("%d ",a)
main()
int j,a[]= 1,2,3,4,5,6,7,i=5;
for(j=3;j>l ;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),所以执行case 2,调用P(s[i++])=P(a[4])=P(5),输出5,之后i的n等于5。

选择题
问答题 简答题