A-A+

以下程序段的执行结果为 #define PLUS(X Y)X+Y main() { int

2022-08-06 06:37:44 问答库 阅读 176 次

问题详情

以下程序段的执行结果为 #define PLUS(X,Y)X+Y main() { int x=1,y=2,z=3,sum; sum=PLUS(x+y,z)*PLUS(y,z); printf("SUM=%d",sum); }
A.SUM=9
B.SUM=12
C.SUM=18
D.SUM=28请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:本题考查带参数的宏定义及应用方法,这种宏不只是进行字符串的替换,还要进行参数的替换。格式为:#define宏名(参数表)字符串我们先看一个简单的带参数的宏定义:#defineX(A,B)A*B*B并且在程序中有语句:y=X(4,3);经过替换后变为y=4*3*3;这就是带参数的宏定义的使用方法。注意:宏是按原形替换,本题替换后为sun=1+2+3*2+3;。

考点:结果,程序