已知int a=5,b=4,c=6,d;,执行语句d=a>b?(a>c?a:c):b后,d的值为________。 具体过程

2024-11-15 06:40:59
推荐回答(3个)
回答1:

6
首先运行的肯定是括号里的 a>c?a:c
如果a大于c的话 结果为 a,
反之则为c, 所以结果是c

然后运行的是 a>b?c:b;
同上 所以结果为6

回答2:

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);
}

回答3:

a>c?a:c 这个结果是C
a>b?c:b 这个结果还是C
d=c
d为六。