以下程序段的执行结果为 #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

admin2009-02-15  30

问题 以下程序段的执行结果为    #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

答案2

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

最新回复(0)