设有宏定义#define MAX(x,y) (x)>(y)?(x):(y),则F=4*MAX(2,3)的值为( ).A、3 B、2 C、12 D、8答案为什么是B而不是C啊,不懂.

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 21:39:50
设有宏定义#defineMAX(x,y)(x)>(y)?(x):(y),则F=4*MAX(2,3)的值为().A、3B、2C、12D、8答案为什么是B而不是C啊,不懂.设有宏定义#defineMAX(

设有宏定义#define MAX(x,y) (x)>(y)?(x):(y),则F=4*MAX(2,3)的值为( ).A、3 B、2 C、12 D、8答案为什么是B而不是C啊,不懂.
设有宏定义#define MAX(x,y) (x)>(y)?(x):(y),则F=4*MAX(2,3)的值为( ).A、3 B、2 C、12 D、8
答案为什么是B而不是C啊,不懂.

设有宏定义#define MAX(x,y) (x)>(y)?(x):(y),则F=4*MAX(2,3)的值为( ).A、3 B、2 C、12 D、8答案为什么是B而不是C啊,不懂.
#define直接定义的宏相当于替代.
F=4*MAX(2,3)
相当于F=4*2>3?2:3;也就是F=8>3?2:3;所以F=2;
故选B,而非C;
注意与F=4*(MAX(2,3))的区别!

设有宏定义#define MAX(x,y) (x)>(y)? (x):(y),则F=4*MAX(2,3)的值为(). 设有宏定义#define MAX(x,y) (x)>(y)?(x):(y),则F=4*MAX(2,3)的值为( ).A、3 B、2 C、12 D、8答案为什么是B而不是C啊,不懂. 带参数的宏定义 #define MIN(x,y) (x) C语言中 #define MAX(x,y) (x)>(y)?(x):(y) 定义一个宏函数,该函数返回两个值中的较小值.下面的代码哪错了#include #define MAX(x,y)(return ((x)>(y)?x:y;)int main(){int a,b;int m ;scanf(%d,&a);scanf(%d,&b); m=MAX(a,b);printf(%d,m);return 0;} 、设有以下宏定义:#define N 3 #define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+Y(5+1));后,z的值为 D .A、设有以下宏定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为 D .A、 出错 B、 42 C、 48 C语言宏定义#define max(a,b) a>b?a:b 有什么隐患?据说要这样写:#define max(a,b) ((a)>(b)?(a):(b)),如果不加括号有什么不一样吗? #define max(x,y) x>y?x:其中的表达式 x>y?x:还有,C中哪些时候要用分号结尾(具体点最好了)? #define min(x,y) (x #define MIN(x,y)(x) # include # define MAX(x,y) (x)>(y)?(x):(y) main() { int a=5,b=2,c=3,d=3,t; 宏定义为:#define fun(x,y) 2*x+1/y,按fun(1+4,(2+3))使用宏后,得到的指是() 设有定义int x=1,y;表达式y=x++的值是 设有以下宏定义:#define f(z) z*z,执行赋值语句int k; k=(4+4)/f(2+2);后k的值为多少 C语言 设有如下宏定义:#define A 3+2 #define B A*A,则表达式B*B的值为多少结果是23,这是怎么算的? #define MAX(x,y) (x)>(y)?(x):(y) main() {int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10 ;printf(%d ,t);} 如何定义函数int Max(int x,int y),计算x,y中的最大值,并返回? 帮忙解释一下宏定义#define print(x) printf(#x) 是怎么替换的