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