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 展开
不好意思 忘了说 int x=20
还有printf("%d%d",0<x<20)的结果为10 展开
展开全部
无论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值多少无关的。
先算 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值多少无关的。
展开全部
原因是这样的:
关系表达式的结合性是自左向右。
因此,如x初值为10,则0<x成立为真,即结果为1,然后再判断1<20,仍然成立,所以输出结果1。
关系表达式的结合性是自左向右。
因此,如x初值为10,则0<x成立为真,即结果为1,然后再判断1<20,仍然成立,所以输出结果1。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("%d",0<x<20),这样子判断x的大小是错误的
为什么是1呢,原因为,当你的x大于0的时候,则返回真,真,则为1
为什么是1呢,原因为,当你的x大于0的时候,则返回真,真,则为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试试这两个语句
printf("%d,%d",0<x<20)
printf("%d,%d,%d,%d",x);
printf("%d,%d",0<x<20)
printf("%d,%d,%d,%d",x);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询