有以下程序: #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));

admin2020-10-26  19

问题 有以下程序:
#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

答案C

解析 宏定义不是C语句,末尾不需要有分号。所以语句printf("%4.1f\n" , S(a+b));展开后为printf("%4.1f\n" ,3.5;*a+b*a+b;);所以程序会出现语法错误。
转载请注明原文地址:https://kaotiyun.com/show/cJ3p777K
0

最新回复(0)