A-A+

下列程序的输出结果【 】。 define PR(ar)printf(ar=%d ar)

2022-08-12 19:01:24 问答库 阅读 197 次

问题详情

下列程序的输出结果【 】。 define PR(ar)printf("ar=%d",ar) main() { int j,a[]={1,3,5,7,9,1l,13,1},*p=a+5; for(j=3;j;j--) switch(j) { case 1: case 2:PR(*p++);break; case 3:PR(*(--p));}}


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:ar=9 ar=9 ar=11
本题综合考查了for循环,switch语句及宏替换等几个知识点。j=3时,执行PR(*(--p));输出数组元素a[4]的值;j=2时,执行PR(*p++);取出p所指位置的元素a[4],然后p++;当j=1时,执行PR(*p++);取得是数组元素a[6]的值11。

考点:结果,程序