C语言中定义 int a=20;printf("%d\n",0<a<20),为什么编译后输出1

 我来答
never715
2011-03-08 · TA获得超过942个赞
知道小有建树答主
回答量:1010
采纳率:84%
帮助的人:445万
展开全部
因为你的a是20,主要在后面那个0<a<20这句,从左到右执行的,所以0<a成立为真,即是1,然后1<20也为真!,所以最后那个0<a<20整体的表达式为真,相当于1,所以格式化输出就是1了!
xiaoxiaogaobo
2011-03-08
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
因为a>0,所以0<a值为1,而1《20,所以0<a<20,的值为1,所以输出为1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
losicy
2011-03-08 · TA获得超过439个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:224万
展开全部
printf 中,“”中写的是输出的格式,“,”后面写的是要输出什么,而你后面写的是一个判断语句
如果 a在1 20直接的话表达式值为true 否则表达式的值为false
输出1 应该是true为0 false为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
德昂当
2011-03-08 · TA获得超过2842个赞
知道大有可为答主
回答量:1074
采纳率:100%
帮助的人:727万
展开全部
(0<a)<20 先是 0<a为真 就是 1 再 1<20也为真,结果就是1喽。
你想要啥结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式