c语言a<b?a:c<d?a:d表示什么意思
3个回答
展开全部
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
结论正确!
==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
结论正确!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询