问题 单项选择题

有以下程序: #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; );所以程序会出现语法错误。

单项选择题
单项选择题 案例分析题