while ((ch = getchar()) != '\n')
{
if (ch >= 'a' && ch <= 'z')
{
putchar('a' + (ch - 'a' + n) % 26); //这里表示什么意思,有什么作用?
continue; //这里是忽略什么?
}
ch-a
得到字符关于a的距离(即a-z
映射到0到25
),然后加上n
进行加密,加密后如果超出0-25的范围,就要使其回到对应范围,通过%26
实现
continue看起来加不加都行,看着意义不大
加密后超过了字母的范围,就取余数,让其回到字母的范围
ch是输入的字符,字符减去a然后加n,表示以a作为起始点,ch与a的距离加上向后移动的距离,如果超过字母表的长度就循环回到起始点再次向后移动,
continue是忽略后续的操作,比如有数字,其他字符,大写字母等的时候,要进行相应的操作,当字符是小写字母时就不会进行下面的处理了