黑马程序员技术交流社区

标题: 三目运算 [打印本页]

作者: 选择天涯    时间: 2016-5-30 22:22
标题: 三目运算

以下程序的输出结果是()。

#include ”stdio.h”

main()

{

    int a=5, b=4, c=6, d;

    printf(”%d\n”, d=a>b? a>c?a:c :b);

}

刚学c语言基础,这个是怎么算过来的?求大神详细解答
作者: 冬以    时间: 2016-5-30 23:23
d=a>b?a<c?a>c?a:c:b   相当于   d=((a>b)?(a<c?a:c):b)
作者: Cathy    时间: 2016-5-30 23:44
d=a>b? (a>c?a:c) :b

加个括号就明白了,先返回(a>c?a:c)计算的值,再比较a和b的大小,若a>b,返回(a>c?a:c)

作者: 上帝的天使    时间: 2016-5-31 12:43
d=a>b? a>c?a:c :b
三目运算符原理就是:当d为真时执行❓前面的表达式,否则执行❓后面的表达式。
作者: weather    时间: 2016-6-1 12:36
结题思路:
d=a>b? a>c?a:c :b
d=a>b? (a>c?a:c) :b   因为a<c,所以输出C,
d=a>b? c :b  因为a>b ,所以输出C,
结果就是d=c,即6.
作者: vivi342863    时间: 2016-6-1 23:32
三目运算符在写的时候,把括号加上好,看的清楚.也不容易出错.不加括号难为自己.
作者: guojingjing888    时间: 2016-6-3 21:30
你是???????
作者: 浮云我想听你说    时间: 2016-6-5 11:02
a>b? (a>c?a:c) :b

如果 a>b  就返回  a>c? a:c 表达式的结果  
                          a>c?a:c 表达示结果是  如果a>c  就返回a   
                                                                   如果a<c就返回c
若果a<b   就返回b
作者: huzhiqiang    时间: 2016-6-5 12:06
三目还是很好用的
作者: 张小景    时间: 2016-6-9 10:14
三目运算感觉很简单
作者: 暴雨    时间: 2016-6-9 17:25
( )? xx : xx




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