问题 单项选择题

下面程序的运行结果是 #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是错误的,注意,不要随意加括号。 [考点链接] 宏定义与函数的区别。

单项选择题
单项选择题