问题
单项选择题
下面程序的运行结果是
#include"iostream.h"
#define sum(a,b) a*b
void main( )
int x;
x=sum(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是错误的,注意,不要随意的加括号。
[考点链接] 宏定义与函数的区别。