【C语言简单循环结构问题】
加密字母字符,使字母往后推四个字母。大小写分开。如:Z变为D; E变为I;c变为g
遇到的现象和发生背景,请写出第一个错误信息
空格被读入w~z的判断语句中
#include<stdio.h>
int main()
{
char c;
c=getchar();
while(c!='\0')
{
if((c>='a'&&c<='v')||(c>='A'&&c<='Z'))
{
putchar(c+4);
c=getchar();
}
else if((c>='w'&&c<='z')||(c>='W'&&c<='Z'))
{
putchar(c-22);
c=getchar();
}
}
}
运行结果及详细报错内容
字母加密没有问题,但是后面的非字母一直停不下来
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{ if((c>='w'&&c<='z')||(c>='W'&&c<='Z'))
c=c-22;
else c+=4;
}//我尝试在判断W~Z之前判断是否为字母。
【我的问题】
1.请问第一个写法,我在调试的时候发现空格会被读入WZ的判断中,想请问一下,空格为什么会被读入WZ中间?谢谢您的解答,我会积极采纳的