if(str[i]>='A'&&str[i]<65+25)为什么是25而不是26

输入大写的z后就出现了小写的z,不是应该输不出吗?... 输入大写的z后就出现了小写的z,不是应该输不出吗? 展开
 我来答
bignode
2014-12-06 · TA获得超过2664个赞
知道大有可为答主
回答量:1427
采纳率:75%
帮助的人:543万
展开全部
if(str[i]>='A'&&str[i]<65+25)
上面的表达式判断是否是大写字母是错的。‘A’的ASCII码是65,‘Z’的ASCII码值是 ‘A‘+25,即90;
所以上式应该改成
if(str[i]>='A'&&str[i]<= 65+25) 等效 if(str[i]>='A'&&str[i]<=’Z‘)

if(str[i]>='A'&&str[i]<65+26) 等效 if(str[i]>='A'&&str[i]<’[‘)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式