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

admin2022-04-01  21

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

最新回复(0)