问题
单项选择题
以下程序的输出结果是_________。
#include<stdio.h
#defineFUDGE(y) 2.84+y
#define PR(
A.printf("%d",(int)(A) )
#definePRINT1(A) PR(A) ;putchar('\n')
main()
int x=2;
PRINT1
B.12
C.13
D.15
答案
参考答案:B
解析:[评析] 在程序中如果有带实参的宏,则按#define命令行中指定的字符串从左到右进行置换,如果串中包含宏中的形参,则将程序语句中相应的实参代替形参。将实参带入已经定义的宏中,可以得出答案为“12”。