以下程序运行后,输出结果是 #define PT 5.5 #define S(x) PT*x*x #include main() { int a=1,b=2; printf("%4.1f\n",S(a+b));}

admin2013-02-23  17

问题 以下程序运行后,输出结果是
#define PT  5.5
#define S(x)  PT*x*x
#include
main()
{  int a=1,b=2;
printf("%4.1f\n",S(a+b));}

选项 A、49.5
B、9.5
C、22
D、45

答案A

解析 考查宏替换的使用。宏替换用"#define 宏名 宏体"的形式来定义。在进行编译预处理时,将把程序中宏定义之后的所有宏名用宏体替换。宏虽然可以带参数,但宏替换过程中不像函数那样要进行参数值的计算、传递及结果返回等操作;宏替换只是简单的字符替换,不进行计算,因而本题中的S(a+b)进行宏替换后为PT*1+2*1+2=5.5*1+2*1+2=9.5。
转载请注明原文地址:https://jikaoti.com/ti/pvn0FFFM
0

最新回复(0)