关于凯撒密码中'a' + (ch - 'a' + n) % 26的作用
论文问答
1
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是忽略后续的操作,比如有数字,其他字符,大写字母等的时候,要进行相应的操作,当字符是小写字母时就不会进行下面的处理了
发表回复