c语言译密码问题,下面这个程序, if(c>='Z'&&c<='Z'+4||c>'z')这一句中,

c语言译密码问题,下面这个程序,if(c>='Z'&&c<='Z'+4||c>'z')这一句中,为什么是c>='Z',我感觉c>'Z'才是对的啊,不然的话V译成的就不是Z... c语言译密码问题,下面这个程序, if(c>='Z'&&c<='Z'+4||c>'z')这一句中,为什么是c>='Z',我感觉 c>'Z'才是对的啊,不然的话V译成的就不是Z了啊

#include<stdio.h>
int main()

char c;
while((c=getchar())!='\n')
{
if(c>'A'&&c<'Z'||c>='a'&&c>'z')
{
c=c+4;
if(c>='Z'&&c<='Z'+4||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");
return 0;
}
展开
 我来答
匿名用户
2016-06-02
展开全部
if(c>='Z'&&c<='Z'+4||c>'z')
c=c-26;

我认为,应该是
if(c>'Z'&&c<='Z'+4||c>'z')c=c-26;

题目握磨应该是对输入培好的英文字母加密,加密方法是向后移动4个字母,即把a变成e,并且循环变化,如z变成d。
这里的判段中斗断就是对转码后超过‘Z’和‘z’的字符修正。
所以你的理解是正确的。
追问
可是c程序设计第四版教材上是这么写的啊
追答
不能全信书,哈工大的ACM教材第一页就有错。😜
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式