当前位置: 代码迷 >> C语言 >> 求帮忙解释下 运行的顺序
  详细解决方案

求帮忙解释下 运行的顺序

热度:130   发布时间:2007-12-21 15:13:50.0
求帮忙解释下 运行的顺序
#include "stdio.h"
#define MAX(x,y) (x>y)?(x):(y)
void main()
{
int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d \n",t);
}
为什么是7?
t=MAX(a+b,c+d)*10的运行顺序是怎么样的?
有没有帮忙解释一下啊....郁闷-_#
我觉的是t=MAX(7,6)*10
难后呢?
搜索更多相关的解决方案: 顺序  MAX  运行  解释  

----------------解决方案--------------------------------------------------------
你是对的啊
t=MAX(7,6)*10
然后看宏怎么定义的
结果是取大,就是7了
----------------解决方案--------------------------------------------------------
t=(a+b>c+d)?(a+b):(c+d)*10;
t=(7>6)?7:60;
t=7.
----------------解决方案--------------------------------------------------------
楼上答的对啊,只要把MAX(x,y)的原有类容代到程序中就好了,答案很明显的
----------------解决方案--------------------------------------------------------
3楼的正解啊,如果宏定义时加个括号就是你所想的70了!
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2007-12-21 09:28:56
灭火的风

来 自:杭州
等 级:论坛游民
帖 子:161
专家分:10
注 册:2006-6-15
  得分:0 
#define MAX(x,y) ((x)>(y)?(x):(y))
这样应该对了
----------------解决方案--------------------------------------------------------
学习了....懂了..谢谢...刚学C不久.....因为考试要用-_#...
----------------解决方案--------------------------------------------------------
又学习了一点.
----------------解决方案--------------------------------------------------------
利用条件运算符...呵呵
----------------解决方案--------------------------------------------------------
  相关解决方案