C语言中,a<b?b:c<d?a:d,什么意思!
展开全部
1a<b?b:c<d?a:d相当于a<b?b:(c<d?a:d)
2若a<b成立,则表达式返回:b,否则返回:c<d?a:d
3c<d?a:d的理解同上。
测试程序如下:
#include <stdio.h>
void main()
{
int a,b,c,d;
a=1;
b=2;
c=3;
d=4;
printf("%d\n",a<b?b:c<d?a:d);
}
//根据上面分析,程序输出2
2若a<b成立,则表达式返回:b,否则返回:c<d?a:d
3c<d?a:d的理解同上。
测试程序如下:
#include <stdio.h>
void main()
{
int a,b,c,d;
a=1;
b=2;
c=3;
d=4;
printf("%d\n",a<b?b:c<d?a:d);
}
//根据上面分析,程序输出2
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个主要是三元操作符?的用法,如果表达式1为真则“表达式1?表达式2:表达式3;”返回的值是表达式2的值否则返回表达式3的值。如题,如果a<b成立则返回b的值(否则返回c的值)返回的值(b或者c)在与d比较,若小于d则返回a的值,否则返回d的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是个条件运算符,格式就是条件?真:假(条件为真的时候调用真这个式子,为假的时候调用这个假的式子)
比如a<b?a:c<d?a:d等价于
if
(a<b)
return
a;
else
if(c
<
d)
return
a;
else
return
d;
根据你的题目,结果是a,也就是1;
比如a<b?a:c<d?a:d等价于
if
(a<b)
return
a;
else
if(c
<
d)
return
a;
else
return
d;
根据你的题目,结果是a,也就是1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嵌套三目运算,加个括号就明显了:a<b?b:(c<d?a:d)
如果a<b,则式子结果为b,否则,再判断如果c<d,式子结果为a,否则为d。
如果a<b,则式子结果为b,否则,再判断如果c<d,式子结果为a,否则为d。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询