有以下程序: #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));} 程序运行后的输出结果是( )。

admin2021-04-28  54

问题 有以下程序:
#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;);所以程序会出现语法错误。
转载请注明原文地址:https://kaotiyun.com/show/ujtp777K
0

最新回复(0)