问题 单项选择题

以下程序的输出结果是______。
#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。

单项选择题
单项选择题 A1/A2型题