C语言 有一个小问题
译密码 将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。字母按上述规律转换,非字母保持原状不变,如“China!"转换为“Glmre!”源程序如下 :
#include<stdio.h>
int main( )
{char c;
c=getchar( ); //输入一个字符给字符变量c
while(c!='\n') //检查c的值是否换行符'\n'
{if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) //c如果是字母
{if(c>='W'&&c<='Z'||c>='w'&&c<='z') c=c-22;
//如果是26个字母中最后4个字母之一就使c-22
else c=c+4; //如果是前面22个字母之一,就使C加4,即变成其后
//第四个字母
}
printf("%c",c); //输出已改变的字符
c=getchar( ); //再输入下一个字符给字符变量C
}
printf("\n");
return 0;
}
在while(c!='\n') 为什么要写这一步,检查C的值是否换行符'\n' 它的作用是什么 这一步不理解,可不可以把'\n'换成 '\t'