单选题
有以下程序:
#include
#define S(x) (x)*x*2
main()
{ int k=5,j-2;
printf("%d,",S(k+j));printf("%d/n",S((k-j)));
}
程序运行后的输出结果是{{U}} {{/U}}。
A. 98,18
B. 39,11
C. 39,18
D. 98,11
A
B
C
D
【正确答案】
C
【答案解析】
[解析] 由#define的定义知,x是在预编译阶段替换参数值,即第一个s(k+j)替换成(k+j)*k+j*2,带入数值得39;第二个s((k-j))替换成((k-j)*(k-j)*2,带入数值得18。故选C) 。
提交答案
关闭