若 a=3,b=4,c=5,d=6,则表达式a<b?a:c<d?c:d的值是多少?希望能详细讲解谢谢!

那个是对的

这是条件运算符.是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
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-08-07
a<b?a:c<d?c:d

从右往左算
c<d?c:d 因为c<d成立,所以该式子的值为c,就是5

所以原式就是
a<b?a:5
因为a<b成立,所以该式子的值是a,就是3

所以整个式子就是3了
第2个回答  2008-08-07
首先你要明白三目运算符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
第3个回答  2008-08-07
首先,你学习C的时候,要知道运算的次序,有的从左向右,有的从右向左;这题是多个三目运算符,是从右向左,所以应该从……看别人给你的解答吧,真的很简单. 结果是:5。所以,FAMDESTINY是对的。
第4个回答  2008-08-07
条件运算符的结合方向是自右至左,先算c<d?c:d,再算a<b?a:c,结果是3

若a=3,b=4,c=5,d=6,则表达式a<b?a:c<d?c:d的值是多少?希望能详细讲解谢 ...
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

设int a=3,b=4, c=5,表达式(a+b)>c&&b==c的值是多少?
&&前半部分7>5为true,后半部分,4==5为false,所以true&&false为false,结果为false(或者0)

设a=3,b=4,c=5,则表达式a||b+c&&b==c的值是什么
而a=3,a为true.所以表达式 a||b+c&&b==c.=true||true&&false.=true||false.=true.即1。

C语言题目:设a=3,b=4,c=5,执行!(x=a)&&(y=b)&&0 逻辑表达式后,变量x 和...
设a=3,b=4,c=5,执行!(x=a)&&(y=b)&&0 逻辑表达式后,变量x 和y 的值为 x的值为3,由于!(x=a)的值为0,而且后面的逻辑运算符是&&,所以,y=b这一部分不再执行(y保留它原来的值,若在函数内声明的变量y,且声明时未赋初始值,则y的值为不确定)。

c语言程序题 a=3,b=4,c=5,表达式a-b<c||b==c的值?为什么?
题目的值是1,||表示或者的意思,是逻辑判断,只要前后一个是真的,就真,真的值为1 第二题,&&是与,三个语句有一个值为0,假,最后为0 第三题,你还是看看书吧,看看while语句和print语句,明白程序是怎么样运行的,不过输出应该是1 2 。

1. 若a=3, b=4, c=5, x=1.2, y=2.4, z= -3.6, u=51274, n=128765...
main(){ int a=3,b=4,c=5;float x=1.2,y=2.4,z=-3.6;long u=51274,n=128765;char c1='a',c2='b';printf("a=_%d__b=_%d__c=_%d\\n",a,b,c);printf("x=%f,y=%f,z=%f\\n",x,y,z);printf("x+y=_%.2f __y+z=%.2f __z+x=%.2f\\n",x+y,y+z,z+x...

c语言中,a=3,b=4,c=5时。a&&b和a||b的值为多少?答案及解析
&&是且 的意思 ||是 或的意思 所以 a&&b==1,a||b==1

int a = 3, b = 4, c = 5 ; 则表达式 a || b + c && b-c为
答案为1;支持bool运算的结果为true 前提: 逻辑运算只有2个结果; ture和false;首先: a,b,c都是非0零值, 其次运算符中算数运算符比逻辑运算符优先级高 其次: 逻辑运算符的值是非零为true 所以a || b+c && b-c 就是 3 || 7 &&-1 进一步就是 1 || 1 && 1 所以答案就是1;有的...

设a=2,b=3,c=4,d=5,下列表达式的值是( )。 Not a<=c Or 4*C=b^2 An...
【答案】:D D。【解析】本题考查运算符及其优先级。在表达式中,当运算符不止一种时,要先进行算术运算,接着进行比较运算,然后再进行逻辑运算。算术运算符的优先顺序从高到低依次为:幂(^)→取负(-)→乘、浮点除(*、/)→整除(\)→取模(mod)→加、减(+、-)→连接(&)。逻辑运算符的...

int a=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,a,b,_百度知 ...
最后结果:a==4,b==3,c==5。

相似回答