黑马程序员技术交流社区

标题: 三元运算符求三个数最大最小值----一行代码 [打印本页]

作者: 奉建兵    时间: 2016-5-1 09:35
标题: 三元运算符求三个数最大最小值----一行代码
int a = 3;
int b = 2;
int c = 8;
//求最大值
int max = (a > b) ? (a > c ? a : c) : (b > c ? b : c);


作者: jiang0409    时间: 2016-5-1 09:46
。。。半天没看懂,求解释
作者: lxd323    时间: 2016-5-1 10:25
感觉这样写可读性好差啊
作者: 土豆你个马铃薯    时间: 2016-5-1 11:14
可读性不差,先比较第一个小括号是true,就执行第二个小括号里的内容;(如果是false就执行第三小括号);
括号里还有比较,true就执行a,false就执行c;a不大于c是false所有就走c
作者: 老司机喔    时间: 2016-5-1 18:22
看第一遍的时候,硬是没看懂
作者: 单曲循环1992    时间: 2016-5-1 22:20
怎么说呢,如果思路足够清晰,这么写还是挺好的,不过要是思路不够清晰,还是不要这么写!!!这毕竟是比较简单的例子....
作者: rabbitguy    时间: 2016-5-1 23:09
老师说了不推荐三元嵌套使用,可读性差.
其实倒没有太难吧
int max = (a > b) ? (a > c ? a : c) : (b > c ? b : c);
三元表达式返回结果是一个值,
a>b得出来的分支 分别是   (a > c ? a : c) 和 (b > c ? b : c),仅此而已
作者: 执着为梦    时间: 2016-5-1 23:18
可以啊.........
作者: 随风而逸    时间: 2016-5-1 23:22
还行,能读懂
作者: WDzyll    时间: 2016-5-2 00:09
从左向右读,是true就输出a,不是就输出名义上的b
作者: 18735346124    时间: 2016-5-2 00:56
用处不是太大,真正开发中不会只有几个数来进行比较,不过可以锻炼逻辑思维
作者: 320215787    时间: 2016-5-2 00:57
得看两遍 才懂
作者: lvaenet1    时间: 2016-5-2 17:13
没看懂是个什么情况。。。。
作者: 为何帅    时间: 2016-5-2 18:02
还好吧,我想到加了一个变量,写的时候感觉楼主的写的很简洁
作者: anziyi    时间: 2016-5-2 18:11
可以啊,小伙子,不过可读性差怎么解释???
作者: 微米    时间: 2016-5-2 18:58
有点计算机基础的 基本上都可以看懂吧 一步一步来 其实就是两个步骤比较
作者: 某某帅    时间: 2016-8-29 23:37
很不错哦,6666666666666
作者: DaoDao2    时间: 2016-8-29 23:47
三元运算符记了好久没记住
作者: jojob    时间: 2021-7-26 23:10
花里胡桥的,看不懂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2