int a=2;float f=3.0;char c='a';((a>2)?3:0)<((c==a)?0:1)怎么解?

 我来答
钭运旺登子
2020-02-21 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:24%
帮助的人:1007万
展开全部
答案为true
((a>2)?3:0)<((c==a)?0:1)
其中(a>2)?3:0和(c==a)?0:1是典型的三元表达式.
a>2不成立所以返回值为false,则(a>2)?3:0这个三元表达式的值为0.
c==a也不成产所以返回值为false,则(c==a)?0:1这个三元表达式的值为1.
这时((a>2)?3:0)<((c==a)?0:1)就相当于是0<1
这时这段代码成立所以返回值是true
附加点废话:<表达灶者凳式1>隐旅?<表达式2>:<表达式3>
当表达式1返回值为true时取表达式2为嫌唯这个三元表达式的值。
当表达式1返回值为false时取表达3为这个三元表达式的值
向玉花湛春
2020-02-03 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:988万
展开全部
先毕哪看(a>2)?3:0,显然a>2不成立,所以这个表达式值为0,
(c==a)?0:1,c是字符,a是int型,不相等,所迹租以这个表达式值为1
最后就是表达式0<姿数兆1,显然成立,答案为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
管让宓己
2020-02-10 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:862万
展开全部
#include
<stdio.h>
void
main()
{
int
a=2;
float
f=3.0;
char
c='a';
printf("%d",((a>2)?3:0)<((c==a)?0:1));/丛搭/这个式子
首先判断a>2既然不大于
就是
3
然后判断有樱郑局括号里面的,3>99
1
'c'的ASICC码是99所以比较之后就等于1
}
不懂的地方追脊让问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式