第1个回答 2011-09-24
#include"stdio.h"
#define MAX(x,y) (x)>(y)?(x):(y)
main()
{int a=5,b=2,c=3,d=3,t;
int tem=MAX(a+b,c+d);
t=tem*10;
printf("%d\n",t);
}
错误原因:
7>6 ? 7:6*10 结果为 7
你按我上面的修改就行了. 其实你 为什么要用宏,直接把宏变为函数也行的.
或者 你这样定义宏
#define MAX(x,y) ((x)>(y)?(x):(y) ) //只是加了括号"()"而已
这样也可以达到目的.