野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 432939|回复: 814

【每日一题】关系操作符

  [复制链接]
发表于 2015-5-19 16:35:21 | 显示全部楼层 |阅读模式
分析下面的代码,求运行结果:
  1. int a=20;
  2.    
  3. if(1<= a <=10)   
  4.   printf ("In range");
  5. else
  6.   printf ("Out of range");
复制代码


请回答问题后再看答案哦,否则 每日一题 就没有意义了。
答错的,讲一下 为什么 会答错 呗!

结果是输出:In range
'<='  、 '>=' 这类操作符是双目操作符,而'<='和'>='的优先级相同,所以变量a先与'<='结合。
整个判断表达式等同于:  if((1<=a)<=10)
所以结果是输出 In range。

发散思维一下,假如判断表达式改为:if(1<=a<=0)呢?结果会输出什么?

回复

使用道具 举报

发表于 2015-5-19 18:41:23 | 显示全部楼层
输出:In range
回复 支持 反对

使用道具 举报

发表于 2015-5-19 18:46:40 | 显示全部楼层
Out of range
回复 支持 反对

使用道具 举报

发表于 2015-5-19 19:07:41 | 显示全部楼层
输出:In range
回复 支持 1 反对 0

使用道具 举报

发表于 2015-5-19 19:56:33 | 显示全部楼层
答案是:In range
回复 支持 1 反对 0

使用道具 举报

发表于 2015-5-20 11:18:43 | 显示全部楼层
In range
回复

使用道具 举报

 楼主| 发表于 2015-5-20 11:44:13 | 显示全部楼层

错了 亲                                          
回复 支持 反对

使用道具 举报

发表于 2015-5-20 12:27:52 | 显示全部楼层
这个事答案,优先级一样,所以从左到右执行,20>=1成立为1,1<=10成立所以输出为:
In range
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2015-5-20 12:33:26 | 显示全部楼层
csxxz 发表于 2015-5-20 12:27
这个事答案,优先级一样,所以从左到右执行,20>=1成立为1,1

赞                                       
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-5-20 12:33:29 | 显示全部楼层
csxxz 发表于 2015-5-20 12:27
这个事答案,优先级一样,所以从左到右执行,20>=1成立为1,1

赞                                       
回复 支持 反对

使用道具 举报

发表于 2015-5-20 12:46:41 | 显示全部楼层
out of range
回复 支持 反对

使用道具 举报

发表于 2015-5-20 12:47:22 | 显示全部楼层

我擦   错了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-20 13:01:14 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-20 13:01:10 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2015-5-20 13:24:14 | 显示全部楼层
输出是:In range
回复 支持 反对

使用道具 举报

发表于 2015-5-20 16:44:59 | 显示全部楼层

我这次回答的是第二个发散的题!第一个我先回答了,之后回答这个的!
回复 支持 反对

使用道具 举报

发表于 2015-5-20 18:43:24 | 显示全部楼层
out of range
回复 支持 反对

使用道具 举报

发表于 2015-5-20 20:21:37 | 显示全部楼层
我觉得应该是 首先判断  1<=a    是成立的 所以 (1<=a ) 的值是1  ; 1<=10 也成立了  所以 输出 In range
回复 支持 反对

使用道具 举报

发表于 2015-5-20 20:41:44 | 显示全部楼层
答案 In range
回复 支持 反对

使用道具 举报

发表于 2015-5-20 20:45:55 | 显示全部楼层
上当了......
回复

使用道具 举报

发表于 2015-5-20 22:28:36 | 显示全部楼层
In rangeIn rangeIn rangeIn rangeIn range
回复 支持 反对

使用道具 举报

发表于 2015-5-20 23:05:20 | 显示全部楼层
a=20,1<=20成立,则1<=a为真,1<=10同样为真,所以if真则Printf(“In range”);
回复 支持 反对

使用道具 举报

发表于 2015-5-20 23:16:29 | 显示全部楼层
Out of range
回复 支持 反对

使用道具 举报

发表于 2015-5-20 23:21:15 | 显示全部楼层
有优先级?  吗
回复 支持 反对

使用道具 举报

发表于 2015-5-21 07:33:44 | 显示全部楼层
out of range ?
回复 支持 反对

使用道具 举报

发表于 2015-5-21 08:25:21 | 显示全部楼层
In rang应该是1<=a判断为真 然后又判断1<=10为真
回复 支持 反对

使用道具 举报

发表于 2015-5-21 09:00:17 | 显示全部楼层
In range,               
回复 支持 反对

使用道具 举报

发表于 2015-5-21 09:12:47 | 显示全部楼层
In range  
1<=a 为真  就是1    然后 1<=10 为真   所以if(1)  输出 In range
回复 支持 反对

使用道具 举报

发表于 2015-5-21 12:29:16 | 显示全部楼层
输出:In range   优先级相同从左到右执行 关系操作符结果要么是真(1)要么是假(0)
回复 支持 反对

使用道具 举报

发表于 2015-5-21 12:32:12 | 显示全部楼层
Out of range
回复 支持 反对

使用道具 举报

发表于 2015-5-21 21:18:52 | 显示全部楼层
打印出 In rang
回复 支持 反对

使用道具 举报

发表于 2015-5-22 10:30:07 | 显示全部楼层
1<=20为真,即为1, 1<=10.所以 In range !
回复 支持 反对

使用道具 举报

发表于 2015-5-22 19:21:34 | 显示全部楼层
先比较1《=A 为真,所以为1
接着比较 1《=10 位真,所以为1
所以打印第一个
回复 支持 反对

使用道具 举报

发表于 2015-5-23 20:25:52 | 显示全部楼层
输出In range,因为整型变量a=20满足条件1<=20,所以if语句判断为真,不管后面的条件,立马输出In range
回复 支持 反对

使用道具 举报

发表于 2015-5-23 21:04:10 | 显示全部楼层
printf ("Out of range");
回复 支持 反对

使用道具 举报

发表于 2015-5-24 16:04:17 | 显示全部楼层
学习~~~~~~~~~~~~
回复

使用道具 举报

发表于 2015-5-24 23:50:10 | 显示全部楼层
INRANGE
回复

使用道具 举报

发表于 2015-5-25 08:30:10 | 显示全部楼层
输出应该是:In range
回复 支持 反对

使用道具 举报

发表于 2015-5-25 11:34:54 | 显示全部楼层
out of range
回复 支持 反对

使用道具 举报

发表于 2015-5-25 21:56:30 | 显示全部楼层
答案是不是In range?
回复 支持 反对

使用道具 举报

发表于 2015-5-25 23:47:02 | 显示全部楼层
看了别人的答案不知道为什么是inrange
回复 支持 反对

使用道具 举报

发表于 2015-5-25 23:49:12 | 显示全部楼层
哈哈哈哈阿訇 发表于 2015-5-25 23:47
看了别人的答案不知道为什么是inrange

原来是这样,那><没有等号也是一样的道理吧?
回复 支持 反对

使用道具 举报

发表于 2015-5-27 14:37:26 | 显示全部楼层
thank you
回复

使用道具 举报

发表于 2015-5-28 08:32:15 | 显示全部楼层
输出结果为In range, if括号里的语句执行1<= a的结果为真则a<=10不执行,所以输出In range
回复 支持 反对

使用道具 举报

发表于 2015-5-28 19:38:02 | 显示全部楼层
In range           
回复 支持 反对

使用道具 举报

发表于 2015-5-29 15:36:43 | 显示全部楼层
In range.....
回复

使用道具 举报

发表于 2015-5-29 15:56:50 | 显示全部楼层
In range

1<=a   real
real <=10   real
回复 支持 反对

使用道具 举报

发表于 2015-5-30 11:26:16 | 显示全部楼层
答案应该是in range
回复 支持 反对

使用道具 举报

发表于 2015-5-30 23:30:26 | 显示全部楼层
1111111111111111111111111111111111111111111111111111111111111
回复 支持 反对

使用道具 举报

发表于 2015-6-1 12:30:37 | 显示全部楼层
Out of range
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 19:13 , Processed in 0.053595 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表