注册 登录
编程论坛 C++教室

求解答,谢谢

张影 发布于 2014-12-23 18:25, 409 次点击
#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\n",t);

}
为什么结果是7,而不是70呢?
3 回复
#2
rjsp2014-12-24 08:24
t=MAX(a+b,c+d)*10;
就是
t = (a+b)>(c+d) ? (a+b) : (c+d)*10;

所以,应该这么写
#define  MAX(x,y)  ((x)>(y)?(x):(y))
#3
yangfrancis2014-12-24 09:42
学习一下
#4
张影2014-12-24 12:47
回复 2楼 rjsp
明白了,谢谢你!
1