c语言问题 请高说请教这个函数是否正确!

来源:百度知道 编辑:UC知道 时间:2024/05/13 14:37:14
此程序是在教材上抄下来的,但是我运行的时候却与上说的不想符合!书上说的是输入“China!”得到的是“Glmre!”而我输入“China!”得到的是“Ghina!”我认为c=getchar()函数只能输入一个字符,所以只能改变第一个之母。我是初学者,有很多东西都不懂,请高说请教这个函数是否正确!谢谢

/* Note:Your choice is C IDE */
#include "stdio.h"
void 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");
}

#include "stdio.h"
void main()
{
char c;
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) //这里改成c>='a'就对了
{
c=c+4;
if(c>'Z'&&c<='Z'+4||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");
}