c语言 0<x<20

printf("%d",0<x<20):输出结果为1怎么理解?不好意思忘了说intx=20还有printf("%d%d",0<x<20)的结果为10... printf("%d",0<x<20):输出结果为1 怎么理解?
不好意思 忘了说 int x=20
还有printf("%d%d",0<x<20)的结果为10
展开
 我来答
草堂春日迟迟
2010-09-07 · TA获得超过278个赞
知道小有建树答主
回答量:405
采纳率:100%
帮助的人:286万
展开全部
无论x设什么值,都返回1。

先算 0<x 得 true(1)或者false(0)

而1,0 都<20 ,得 true(1)

----------------
对于补充问题,要知道printf输出的不是数字而是字符串。

对于printf("%d%d",0<x<20)的结果为10,原因如下:
0<x<20 ---- 得1 ,在第一个%d中输出了1。
第二个%d, printf函数要求还得有一个参数来对应,如果没输入,那么它的输出可以是随机的,在你实验中它输出是 0。
就这么出现了10这个结果。
这结果和你输入x值多少无关的。
我的一亩三分地
2010-09-07 · TA获得超过948个赞
知道小有建树答主
回答量:458
采纳率:42%
帮助的人:176万
展开全部
原因是这样的:
关系表达式的结合性是自左向右。
因此,如x初值为10,则0<x成立为真,即结果为1,然后再判断1<20,仍然成立,所以输出结果1。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序小兵
2010-09-07 · TA获得超过711个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:179万
展开全部
printf("%d",0<x<20),这样子判断x的大小是错误的

为什么是1呢,原因为,当你的x大于0的时候,则返回真,真,则为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
490749157
2010-09-07 · TA获得超过738个赞
知道小有建树答主
回答量:276
采纳率:100%
帮助的人:340万
展开全部
你试试这两个语句
printf("%d,%d",0<x<20)
printf("%d,%d,%d,%d",x);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式