问题
单项选择题
有以下程序: #include <stdio.h> #define PT 3.5; #define S(X) PT*x*x; main() { int a=1, b=2; printf("%4.1f\n", s(a+b)); } 程序运行后的输出结果是______。
A.7.5
B.31.5
C.程序有错无输出结果
D.14.0
答案
参考答案:C
解析: 宏定义不是C语句,末尾不需要有分号。所以语句printf("%4.1f\n", S(a+b));展开后为printf("%4.1f\n", 3.5; *a+b*a+b; );所以程序会出现语法错误。