如果int a=1,b=2,c=3,d=4,则条件表达式“a<b?a:c<d?c:d”的值是多少?要求解答详细点哈,...

如果int a=1,b=2,c=3,d=4,则条件表达式“a<b?a:c<d?c:d”的值是多少?要求解答详细点哈,运算顺序和方法我都不知道

“? :”是条件运算符,优先级比“<”低,此表达式解释为:a<b如果为真则返回a,否则返回c<d?c:d的结果。答案是直接返回a的值1。(运算符的详细定义和优先级表可以自己去百度百科搜下)
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-30
条件运算符的结合性是从右到左结合的,先算”c<d?c:d“返回“c=3”;再算“a<b?a:c”返回值为1。本回答被网友采纳
第2个回答  2011-12-22
当a < b 成立 则结果就是 a
如果 a < b 不成立 则结果要判断 c<d 是否成立
1,c <d 则结果就是 c
2, c <d 不成立 则结果就是 d
所以这题 结果是a =1
第3个回答  2011-12-22
如果a<b 返回a 否则返回{如果c<d 返回c 否则返回d}
答案是1
第4个回答  2018-01-13
先判断a<b为真取a值,得等式a<d?c:d,再判断a<d为真取c值,在软件里执行也是这个值

如果int a=1,b=2,c=3,d=4,则条件表达式“a<b?a:c<d?c:d”的值是多少...
“? :”是条件运算符,优先级比“<”低,此表达式解释为:a<b如果为真则返回a,否则返回c<d?c:d的结果。答案是直接返回a的值1。(运算符的详细定义和优先级表可以自己去百度百科搜下)

a=1,b=2,c=3,d=4,则a>b?a:c<d?c:d值为多少
a>b?a:c<d?c:d等于:(a>b)?a:(c<d)?c:d,下面是两个条件运算符的嵌套,条件运算符的结合方向为“自右至左”,那么,上述表达式可以等于:(a>b)?a:[(c<d)?c:d],所以,判断C<d,为真,则值为c==3;然后再判断a>b,为假,所以其值为后,为3.所以,值为3.

定义"int a=1,b=2,c=3,d=4;"则表达式"a>b? a:c>d? c:d"的值是多少...
答案是4,因为:?是右结合的运算符,a>b?a:c>d?c:d=a>b?a:(c>d?c:d)

C语言环境中,设a=1,b=2,c=3,d=4,则表达式:a>b?a:c>d?a:d的结果为...
表达式:a>b?a:c>d?a:d的结果为4。解析:1、由于C语言的相同优先级运算符运算规则为从左至右依次运算,而条件运算符具有右结合性,所以表达式:a>b?a:c>d?a:d优先运算c>d?a:d,得出的结果为4;2、再运输a>b?a:4,得出的结果为4。所以最终得出的结果为4。

4. 设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为( )。 (A) 4...
a<b?a:c<d?a:d可以看做 a < b? a : (c<d?a:d)所以答案是D 1

已知:int a=1,b=2,c=3,d=4;,则执行语句a>b && ++c>=d;后,变量c的_百度...
c的值没有变,还是3。先判断a>b,结果是逻辑假,”逻辑假 && 其他表达式“的时候,因为前面已经是假,后面无论是什么结果,总的表达式也都是假,就不会再去执行”其他表达式“,所以++c没有执行,c还是3。

a<b?a:c<d?c:d的值是()。a=1,b=2,c=3,d=4
1

已知int a=1,b=2,c=3,d=4;,执行语句a>b&&++c>=d;后,为什么变量c的值...
因为在逻辑表达式A && B中,只要表达式A的值为0,表达式B就不会执行

设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a<b...
m=1,n=0;解释如下,如果a<b成立,则系统认为其为真,真值为1,反之若不成立,则为假,真值为0。因为(m=a<b)这个式子值为1,在&&这个运算符中,先判断&&左边的表达式是否为真,为真才会对&&右边的(n=c>d)进行处理。此题因为&&左边的表达式为真(若左边的表达式为假,则此题n=2,)...

C语言中 int a=1,b=2,c=3,d=4,则表达式a++<b?a:c<d?--a:--d结果为2...
a++是先取a的值参与运算,运算后再加a的值加1 所以a++<b成立,取a的值,而a的值已经加1,变成2了。

相似回答