黑马程序员技术交流社区
标题:
C语言的知识,求解
[打印本页]
作者:
kingloveyy
时间:
2014-9-23 14:03
标题:
C语言的知识,求解
题目大概是这样的:假设 a=1,b=2,c=3,d=4;
a < b ? a : c < d ? a : d;
看着有点乱了,哪位大神帮我分析一下?这些优先级的东西一直记不清楚
作者:
秋水红林
时间:
2014-9-23 14:33
涉及到三目运算(a<b)?a:(c<d)?a:d,这样能够看懂了吧,两个三目运算嵌套,先比较大小,然后算三目,因为a<b,所以返回a即返回1,比较大小的优先级高于三目运算
作者:
kingloveyy
时间:
2014-9-23 14:40
秋水红林 发表于 2014-9-23 14:33
涉及到三目运算(a
OK,谢啦
作者:
qiusiyu
时间:
2014-9-23 15:35
本帖最后由 qiusiyu 于 2014-9-23 15:36 编辑
假设 a=1,b=2,c=3,d=4;
a < b ? a : c < d ? a : d;
从左往右,这样分析: a < b ? //a是否小于b
a < b ? a //若是,就输出a
a < b ? a : c < d ? //若不是,就看“c<d?”
c < d ? // c是否小于d?
c < d ? a : d //若是,就输出a;若不是,就输出d
作者:
AngleMGG
时间:
2014-9-23 16:10
涉及算术优先级,括号优先级最高,换个形式 (a < b) ? a : ((c < d) ? a : d); 这样能理解吗
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2