关于凯撒密码中'a' + (ch - 'a' + n) % 26的作用

代码项目助手 论文问答 1
while ((ch = getchar()) != '\n')
{

            if (ch >= 'a' && ch <= 'z')
            {
                    putchar('a' + (ch - 'a' + n) % 26);          //这里表示什么意思,有什么作用?
                    continue;          //这里是忽略什么?
}

回复

共2条回复 我来回复
  • 毕业设计工坊
    这个人很懒,什么都没有留下~
    评论

    ch-a 得到字符关于a的距离(即 a-z 映射到 0到25 ),然后 加上n 进行加密,加密后如果超出0-25的范围,就要使其回到对应范围,通过 %26 实现 continue看起来加不加都行,看着意义不大

    0条评论
  • 代码客栈
    这个人很懒,什么都没有留下~
    评论

    ch是输入的字符,字符减去a然后加n,表示以a作为起始点,ch与a的距离加上向后移动的距离,如果超过字母表的长度就循环回到起始点再次向后移动, continue是忽略后续的操作,比如有数字,其他字符,大写字母等的时候,要进行相应的操作,当字符是小写字母时就不会进行下面的处理了

    0条评论

发表回复

登录后才能评论