问题
单项选择题
以下程序的输出结果是______。
#include<stdio.h>
#define SQR(x)x*x
main()
int a,k=3;
a=++SQR(k+1);
printf("%d\n",a);
A) 8
B) 9
C) 17
D) 20
答案
参考答案:B
解析: 本题宏替换中遇到形参x以实参k+1代替,其他字符不变。SQR(k+1)展开后应为字符串k+1*k+1。