A-A+

以下程序运行后 输出结果是 define PT 5.5 define S(x) PT*x*x

2022-08-12 18:45:40 问答库 阅读 197 次

问题详情

以下程序运行后,输出结果是 define PT 5.5 define S(x) PT*x*x include<stdio.h> main() { int a=1,b=2; printf("%4.1fn",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。注意:带参数的宏定义。

考点:程序