单选题 有以下程序:
#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
【正确答案】 C
【答案解析】[解析] 由#define的定义知,x是在预编译阶段替换参数值,即第一个s(k+j)替换成(k+j)*k+j*2,带入数值得39;第二个s((k-j))替换成((k-j)*(k-j)*2,带入数值得18。故选C) 。