C语言的基础题,求大神指点!

intx=20;printf("%d",0<x<20);运行结果为1,为什么?... int x=20;
printf("%d",0<x<20);
运行结果为1,为什么?
展开
 我来答
萢萢i3
2015-06-12 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:71%
帮助的人:4483万
展开全部
0<x<20相当于((0<x)<20),因为x=20,所以0<x为真,结果为1,然后把这个1跟20比较,因为1小于20,所以也为真,结果为1.
旺理财
2015-06-12 · 百度知道合伙人官方认证企业
旺理财
1、AA级以上公募债券理财产品 2、短期理财产品【3天收益12%、1个月7.5%、3个月8.2%、6个月8.8%】 3、应用市场搜索“旺理财”下载APP理财
向TA提问
展开全部
0<x<20可以看成(0<x)<20,括号中关系式是成立的,返回1,然后1<20也同样成立,所以返回1,所以这句printf(“%d”,0<x<20);会在屏幕上打印字符1.
追问
谢谢您的回答!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wchyumo2011
2015-06-12 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2739万
展开全部
c中“0<x<20”写是一个表达式,其运算步骤是 首先判断“0<x”,如果正确则其值为1,不正确为0。然后再把前边得到的值与20比较大小,正确则整个表达式值为1,反之为0。
因为x=20所以x>0的值为1,1<20的值为1,即最后结果为1
追问
谢谢您的回答!
追答
不客气
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woshizjp
2015-06-12 · TA获得超过351个赞
知道小有建树答主
回答量:322
采纳率:100%
帮助的人:316万
展开全部
0<x<20,C语言能这样用吗?

如果要进行判断的话,建议是用((0<x)&&(x<20))。
单就你这个问题来讲,按照printf一般的情况下是按照从右往左的顺序进行运算的每个参数的,在运算0<x<20时,针对这个参数,应该是先运算0<x,那么得到的结果就是1,1<20也是1。
那么结果就是1.
追问
谢谢您的回答!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
军昊韦0el95b
2015-06-12 · TA获得超过624个赞
知道小有建树答主
回答量:443
采纳率:50%
帮助的人:378万
展开全部
>号的优先级大于<号 所以0<x<20分两步 x>0 x是20 所以成立 为true 数值为1
1<20 为true 数值为1 所以用%d打印的时候 就为1
追问
谢谢您的回答!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式