单选题 有以下程序:
#include <stdio.h>
#define F(x) 2.84+x
#define PR(a) printf("%d" ,(int)(a))
#define PRINT(a) PR(a);putehar("/n")
main()
{
PRINT(F(5)*2);
}
程序运行后的输出结果是______。
【正确答案】 A
【答案解析】[解析] 带参数的宏的调用格式:宏名(实参表),替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。将PRINT(F(5)* 2)用PR(F(5)*2);putchar("/n")替换,将PR(F(5)*2)用printf(“%d”,(int)(F(5)*2))替换,再将F(5)用2.84+5替换,最后替换结果为printf(“%d”,(int)(2.84+5*2));putchar("/n"),运行结果为:12<回车>。故A选项正确。