问题 单项选择题

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

选择题
单项选择题