鱼C论坛

 找回密码
 立即注册
查看: 2066|回复: 21

[已解决]求助,代码见附图

[复制链接]
发表于 2021-9-15 21:08:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大佬们问一下为什么红圈里的表达式始终返回真???(编译器提示的,实在琢磨不明白了)

初学c,想要实现一个输入一个英文字符判断是否大小写。为了简化代码,想直接用连不等号写成一行简短的表达式,不用其它变量参与。

但是如果把红圈内代码替换成 getchar() <= 'Z' 的时候,可以正常运行达到目的。

烦请各路大佬指点。

(第一次发帖,如有违反相关论坛发帖规定的望手下留情)
最佳答案
2021-9-15 22:06:03
斐波纳税 发表于 2021-9-15 21:55
对我就是想表达这个意思,但是行不通,编译器提示表达式内容永远为真...

其实表达式 'A'<=getchar()<='Z'是合法的,但是由于运算符是从左向右的,所以 不管输入什么 ,'A'<=getchar()返回不是0或1,而0或1都小于'Z',所以  'A'<=getchar()<='Z' 永远为 真
QQ20210915-0.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-9-15 21:37:24 | 显示全部楼层
2736946915 发表于 2021-9-15 21:17
大概是永远为真,你需要在中键加个且(&&),
不加就是取中间的数值,然后系统会帮你强制转换成bool,>65肯定 ...

不是很懂,我用的关系运算符按理来说整个表达式也应该返回逻辑值啊,假如我输入 'a',值为 97,明显不在表达式范围内,经过关系运算符的运算应该返回是假...而且我连续使用不等号,即使满足 'A' <= , 但是也不满足 <= 'Z'啊。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-15 21:41:30 | 显示全部楼层
Max472 发表于 2021-9-15 21:29
C语言没有你说的连不等

可是我这里表达的连不等意思就是使用关系运算符 >, <, == 这些,这难道不符合c的运算符使用规则吗?而且我刚刚试了下 表达式3 < 4 < 5 可以返回 1, 3 < 4 > 5 返回的就是 0...可能举上面的例子不够严谨,但是这样写的话c也确实能正确执行想表达的意思...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-15 21:50:10 | 显示全部楼层
2736946915 发表于 2021-9-15 21:46
想法是对的,但是表达错了,你这个叫取中间值,所以我才叫你加上&&,这个能把两个逻辑符号连起来

能讲一下取中间值是什么意思嘛?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-15 21:55:15 | 显示全部楼层

对我就是想表达这个意思,但是行不通,编译器提示表达式内容永远为真...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-15 22:19:23 | 显示全部楼层
2736946915 发表于 2021-9-15 21:59
字面的意思,就是>A,

!!!看懂了,我图里写的意思从左往右运算,过第一个关系运算符的时候就已经转换成逻辑值0和1了,这两个值和 ‘Z’ 相比肯定小于 'Z' 且永远成立的,实际上我想要表达的意思计算机没有能够理解...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-15 22:31:08 | 显示全部楼层

我也是看了你的回答才逐渐理解的,恍然大悟,非常感谢!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-15 22:48:59 | 显示全部楼层
jhanker 发表于 2021-9-15 22:35
请问这个指针数组赋值给数组指针怎么理解 这个贴也是一个比较难理解的知识点
链接在:https://fishc.com.c ...

不不不大佬太抬举我了,我也才刚刚刚开始接触c,只学习了最最基本的一些语法,很多知识都还没有学习涉及到,等我有一定的基础之后会回来看这个题的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-1 18:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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