下列程序的输出结果【 】。 #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--)

admin2009-02-15  28

问题 下列程序的输出结果【  】。
   #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。
转载请注明原文地址:https://kaotiyun.com/show/FVXp777K
0

最新回复(0)