c语言a<b?a:c<d?a:d表示什么意思
发布网友
发布时间:2022-04-26 18:32
我来回答
共3个回答
热心网友
时间:2023-08-14 15:45
c<d?a:d =(1)
==if (c<d)
a
else
d
a<b?a:(1)
==
if (a<b)
a
else
(1)
if (a<b)
a;
else if(c<d)
a
else
d
综合起来就是
if((a<b)||(c<d))
a
else
d
验证一下:
void main()
{
int a=1,b=2,c=3,d=4;//不同的取不同的值
int ret=a<b?a:c<d?a:d;
printf("%d,%d,%d,%d\n",a,b,c,d);
printf("ret=%d\n",ret);
}
1,2,3,4 a<b c<d
ret=1 ret=a正确
2,1,3,4 a<b(false) c<d(true)
ret=2 ret=a 正确
Press any key to continue
2,1,4,3 a<b(false) c<d(false
ret=3 ret=d 正确.
Press any key to continue
if((a<b)||(c<d))
a
else
d
结论正确!
热心网友
时间:2023-08-14 15:45
第一步:判断a<b 真就为a 反之是c
第二部:判断a或c<d 真就为a 反之为d
判断后输出
热心网友
时间:2023-08-14 15:46
亲测a<b为a;
a>=b为后面表达式c<d?a:d的运算结果;