已知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
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-23
d的值为6
“条件?语句1:语句2”执行过程:判断条件是否正确,如果正确,则执行语句1,否则执行语句2
首先执行“a>c?a:c”,4<6,所以返回6
则语句变成“d=a>b?6:b;”
5>4,返回6
所以d的值为6

PS:“d=a>b?(a>c?a:c):b”的后面要加“;”
PS:你可以上机调试
代码:
#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);
}
第2个回答  2010-10-24
a>c?a:c 这个结果是C
a>b?c:b 这个结果还是C
d=c
d为六。

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

void main() {int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d\\n",d...
先判断A>B 因为成立 所以A>B是正确的 所以A>B的值为 1 (1表示TRUE,0表示FALSE) 然后 就变成 1和C比较了 当然1小于C 所以第一个IF 不满足 满足第二个IF 所以就输出2+1 =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=5,b=4,c=3,y;表达式y=a>b>c值为多少?说说为什么!
先判断a>b,得到的是5>4结果为真,也就是用值1表示,然后判断(a>b)>c,也就是1>3,结果为假,用值0表示,最后把这个假赋值给y,所以y的值为0。

下列程序段输出的结果是__A___。 int a=5,b=4,c=3; if(a>b) a=...
答案选A。将程序写清晰如下,注意最后还有一句 a=b+c;int a=5,b=4,c=3;if(a>b) { \/\/程序会进入此 a=b+c, \/\/ 执行完此句,a = 7 b=2*c; \/\/ 执行完此句,b = 6 }else { \/\/程序不会进入此 a=b-c,b=3*c;} a=b+c; \/\/ 执行完此句,a = 9 printf("...

设有变量说明:int a=4,b=5,c=6;分别编写程序求出下列表达式的值并输出运...
int ans=(a=b++ + --c + b >= c);printf("%d %d %d %d\\n",ans,a,b,c);} void a4(int a,int b, int c){ int ans=(b=a+b, a=b-a, b=b-a , a+b+c);printf("%d %d %d %d\\n",ans,a,b,c);} int main() { int a=4,b=5,c=6;a1(a,b,c);a2(a,b...

...void main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\\n",d...
d=(a>b>c)表示将a>b>c这个逻辑表达式的值赋给d,我们来计算这个表达式的值。a>b>c \/\/a>b成立 =ture>c \/\/ture当成1比较,1>c不成立 =false \/\/false转换为整形就是0 =0

a>b>c不是满足条件吗,那不应该直接输出结果吗?
在这里,int a = 5, b = 4, c = 3, d = 2;if ( a > b > c ) printf( "%d\\n", d );的计算过程是这样的:先判断是否a > b ,判断结果为“真”,也就是1 再判断是否(a>b)>c,即是否1>c,因为1>3不成立,所以,printf( "%d\\n", d );就不被执行。

...a=2,b=4,c=6;则表达式a>b?a:c>d?b:d的值是 ( ) a 2 b 4 c 6 d...
设有变量定义int a=2,b=4,c=6,d=8;则表达式a>b?a:c>d?b:d的值是d=8。int a=2,b=4,c=6,d=8;表示定义数字类型变量a为2,b为4,c为6,d为8。表达式a>b?a:c>d?b:d;表示判断a是否大于b,如果a大于b,则为a,如果a小于等于b,则判断c是否大于d,如果c...

相似回答