int a=2;float f=3.0;char c='a';((a>2)?3:0)<((c==a)?0:1)怎么解?
3个回答
展开全部
答案为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为这个三元表达式的值
((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为这个三元表达式的值
展开全部
先毕哪看(a>2)?3:0,显然a>2不成立,所以这个表达式值为0,
(c==a)?0:1,c是字符,a是int型,不相等,所迹租以这个表达式值为1
最后就是表达式0<姿数兆1,显然成立,答案为1
(c==a)?0:1,c是字符,a是int型,不相等,所迹租以这个表达式值为1
最后就是表达式0<姿数兆1,显然成立,答案为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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
}
不懂的地方追脊让问
<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
}
不懂的地方追脊让问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询