问题
单项选择题
下面程序的运行结果是
#include"iostream.h"
#define sum(a,b)a*b
void main()
int x;
X=sam(1+2,3);
cout<<x;
A.0
B.9
C.7
D.5
答案
参考答案:C
解析:[命题目的] 考查宏定义的简单运用。
[解题要点] 理解宏定义.sum(a,b)a*b中a为1 +2.b为3,故sum(1+2,3)=1+2*3,即宏定义的替换过程是原样替换。
[错解分析] 选项B)的计算方法是(1+2)*3 =9是错误的,注意,不要随意的加括号。
[考点链接] 宏定义与函数的区别。