C语言的基础题,求大神指点!
2015-06-12 · 百度知道合伙人官方认证企业
关注
展开全部
0<x<20可以看成(0<x)<20,括号中关系式是成立的,返回1,然后1<20也同样成立,所以返回1,所以这句printf(“%d”,0<x<20);会在屏幕上打印字符1.
追问
谢谢您的回答!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c中“0<x<20”写是一个表达式,其运算步骤是 首先判断“0<x”,如果正确则其值为1,不正确为0。然后再把前边得到的值与20比较大小,正确则整个表达式值为1,反之为0。
因为x=20所以x>0的值为1,1<20的值为1,即最后结果为1
因为x=20所以x>0的值为1,1<20的值为1,即最后结果为1
追问
谢谢您的回答!
追答
不客气
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0<x<20,C语言能这样用吗?
如果要进行判断的话,建议是用((0<x)&&(x<20))。
单就你这个问题来讲,按照printf一般的情况下是按照从右往左的顺序进行运算的每个参数的,在运算0<x<20时,针对这个参数,应该是先运算0<x,那么得到的结果就是1,1<20也是1。
那么结果就是1.
如果要进行判断的话,建议是用((0<x)&&(x<20))。
单就你这个问题来讲,按照printf一般的情况下是按照从右往左的顺序进行运算的每个参数的,在运算0<x<20时,针对这个参数,应该是先运算0<x,那么得到的结果就是1,1<20也是1。
那么结果就是1.
追问
谢谢您的回答!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
>号的优先级大于<号 所以0<x<20分两步 x>0 x是20 所以成立 为true 数值为1
1<20 为true 数值为1 所以用%d打印的时候 就为1
1<20 为true 数值为1 所以用%d打印的时候 就为1
追问
谢谢您的回答!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询