A-A+

下列程序的输出结果是【 】。 define PR(a)printf(\%dt (int)(

2022-08-12 18:52:57 问答库 阅读 197 次

问题详情

下列程序的输出结果是【 】。 define PR(a)printf("%dt",(int)(a)) define PRINT(a)PR(a);printf("ok!") main() { int i,a=1; for(i=0;i<3;i++) PRINT(a+i); printf("n");}


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

参考答案

正确答案:1 2 3 ok!
本题主要考查了printf函数用在了宏替换中。宏替换不是函数调用,只是一种简单的字符替代。所以本题中PRINT(a+i)展开为:printf(“%d\t”,(int)(a+i)),当i=0时,输出1;当i=1时,输出2;当i=2时;输出3;for循环结束后输出ok!。

考点:程序