int a=5,b=4,c=6,d;执行d=a>b?(a>c?a:c):b,d=?

如题所述

printf("%d\n",
d=a>b?a>c?a:c:b);这里会输出d的值
d=a>b?a>c?a:c:b
加上括号看,方便一些
?:是一个运算符,所以加上括号为:
d=a>b?(a>c?a:c):b
这个运算先算a>b
a=5,b=4,
a>b为真,所以,取(a>c?a:c)的结果给d赋值
a=5
c=6
a>c为假,所以,取c
因此,d=c=6
;
温馨提示:内容为网友见解,仅供参考
无其他回答

已知int a=5,b=4,c=6,d;,执行语句d=a>b?(a>c?a:c):b后,d的值为...
6 首先运行的肯定是括号里的 a>c?a:c 如果a大于c的话 结果为 a,反之则为c, 所以结果是c 然后运行的是 a>b?c:b;同上 所以结果为6

main() { int a=5,b=4,c=6,d; printf("%d\\n",d=a>b?(a>c?a:c):(b...
输出6 d=a>b?(a>c?a:c):(b));首先判断a>b,为真,所以输出的是(a>c?a:c)也就是判断a>c,为假,所以输出c,也就是6

int a=5,b=4,c=6,d; printf("%d\\n",d=a>b?a>c?a:c:
a=5,b=4, a>b为真,所以,取(a>c?a:c)的结果给d赋值 a=5 c=6 a>c为假,所以,取c 因此,d=c=6 ;

...int a=5, b=4, c=6, d; printf(”%d\\n”, d=a>b? a>c?a:c :b...
d=a>b? a>c?a:c :b这个式子可解释为d=(a>b?(a>c?a:c):b);这里的?:是一个三目运算符 a?b:c如果a为真,则返回b表达式的值,否则返回c表达式的值 a>b为真,所以返回a>c?a:c a>c为假,所以返回c的值,即6

C语言 若 int a=4,b=5,c=6,d=7,m=1,n=1,e; 则执行语句 e=(m=a>b...
(m=a>b)&&(n=c>d)当执行完m=a>b之后,返回的值是0,也就是false,就不去执行&&后面的表达式,只有m的值发生了改变n的值不变,所以是m=0.n=1。代码:include "stdio.h"void main(){ int a=5,b=4,c=6,d;d=a>b?(a>c?a:c):b;printf("d的值为%d",d);} ...

...{int a=5,b=4,c=3,d;d=(a>b>c);printf("%d",d); }答案是多少_百...
运行结果为:0 分析:d=(a>b>c) \/\/先算a>b,成立,结果为true,即1。=1>c \/\/不成立,结果为false,即0。=0

...main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\\n",d); }...
0 关键是a>b>c,你应该看成(a>b)>c,先计算a>b,结果是真实的,也就是1,接着计算1>c,结果是false,也就是0,所以d=0,这是考察编程中的运算符,蛮基础的~~

int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\\n",d);
a>b>c 2个>优先级相同,>从左向右运算 先运算 a>b 结果为真,即1 然后运算 1>c,结果为假,即0 最后结果0赋值给d

...main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d",d);}输出...
a>b为真,所以这个表达式的值是1 然后这个表达式的值(1)和c比较,1>c为假,所以表达式a>b>c的值是0 所以d=0 有问题继续 谢谢采纳

...main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\\n",d); }...
a>b>c是从左向右计算的:(a>b)>c,先计算a>b结果为真,也就是1,再用这个结果计算1>c,结果为假。

相似回答
大家正在搜