若 a=3,b=4,c=5,d=6,则表达式a<b?a:c<d?c:d的值是多少?希望能详细讲解谢谢!
来源:百度知道 编辑:UC知道 时间:2024/06/24 09:17:46
那个是对的
这是条件运算符.是C语言唯一的3目运算符,一般形式如下:
表示式1?表达式2:表达式3
执行过程:
先求解表达式1,
若真,则把表达式2的值作为整个条件表达式的值,执行结束,
若假,则把表达式3的值作为整个条件表达式的值,执行结束.
而条件运算符的结合方向是自右至左.所以表达式a<b?a:c<d?c:d可以写成
表达式a<b?a:(c<d?c:d)
先求c<d?c:d表达式的值,按刚才的执行过程,先求解表达式1,
c=5,d=6,c<d为真,取c的值作为表达式的值,
即(c<d?c:d)的值为5.
表达式a<b?a:(c<d?c:d)变成
表达式a<b?a:c
执行a<b为真,所以取a的值作为表达式的值,
所以整个条件表达式a<b?a:c<d?c:d的值为3
a<b?a:c<d?c:d
从右往左算
c<d?c:d 因为c<d成立,所以该式子的值为c,就是5
所以原式就是
a<b?a:5
因为a<b成立,所以该式子的值是a,就是3
所以整个式子就是3了
首先你要明白三目运算符f=a<b?a:b这就话的意思是如果a<b那么f=a,否则f=b
假如f=a<b?a:c<d?c:d
则第一步:a<b成立,所以f=a=3,后面不用看了
假如a=4而b=3则有a<b不成立,那么f=c<d?c:d = c(因为c<d成立) = 5
首先,你学习C的时候,要知道运算的次序,有的从左向右,有的从右向左;这题是多个三目运算符,是从右向左,所以应该从……看别人给你的解答吧,真的很简单. 结果是:5。所以,FAMDESTINY是对的。
条件运算符的结合方向是自右至左,先算c<d?c:d,再算a<b?a:c,结果是3
设a b c d都是自然数 ,且a^5=b^4,c^3=d^2,a-c=17,求d-b得值
设a、b、c、d都是正整数,且a^5=b^4,c^3=d^2,c-a=19,求d-b.
设a、b、c、d都是正整数,且a^5=b^4,c^3=d^2,c-a=19,求d-b?
已知:A=1/3(B+C+D),B=1/4(A+C+D),C=1/5(A+B+D),D=470,求:A+B+C+D=???
(a+b)(b+c) (c+d) (d+a)=?
A B C D×9=D C B A
设a,b,c,d都是实数若|a+b|=4,|c+d|=2,且|a-b+c-d|=c-a+d-b,求a+b+c+d的最大值
设正整数a,b,c,d,a/b+b/c+c/d=5/8 则a+b+c+d的最小值是多少
如果2a+b=0,则|a/|b|-1|+||a|/b-2|等于()。A,2B,3C,4D,5(要过程)
若d>c,a+b=c+d,a+d<b+c,,则a,b,c,d的大小关系是?怎么解?