条件表达式x?'a':'b'中,若x=0时,表达式的值为b 为什么这么说不对? 20

 我来答
教育小百科达人
2020-07-23 · TA获得超过156万个赞
知道大有可为答主
回答量:8828
采纳率:99%
帮助的人:474万
展开全部

当然不对,x=0时候,表达式的值是'b', 不是b,一个是字符,一个可能是变量或其它, 两个不是同一回事。

条件表达式由条件运算符构成,并常用条件表达式构成一个赋值语句。

其一般形式如下:

x=<表达式1>?<表达式2>:<表达式3>

其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。 口诀:前真后假。



扩展资料:

若有多个条件表达式像这样连在一起:x=<表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5>···执行顺序是从右到左依次判断再求出最后的x,即所谓的右结合性。

注意:此表达式后边无需加 “;”。

例如: a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为:1

jesry_wu
2016-06-16 · TA获得超过942个赞
知道小有建树答主
回答量:793
采纳率:72%
帮助的人:209万
展开全部
当然不对,x=0时候,表达式的值是'b', 不是b,一个是字符,一个可能是变量或其它, 两个不是同一回事
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2016-06-15 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:1953万
展开全部
C里0是false,取后一分支
追问
能再详细些吗
追答

C语言里非零值表示true,0值表示false。

这里相当于:

if(x){
    return a; 
}else{
    return b;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jeanie12345699
2016-06-15 · TA获得超过149个赞
知道小有建树答主
回答量:446
采纳率:0%
帮助的人:172万
展开全部
0表示false,false执行b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2ebe1e4f3
2016-06-15 · TA获得超过1.3万个赞
知道大有可为答主
回答量:9245
采纳率:52%
帮助的人:3288万
展开全部
为什么不对?是对的呀
追问
和单引号有没有关系
追答
单引号是程序中的常量写法,输出时是没有的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式