A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© FlyTrem 中级黑马   /  2014-4-12 18:54  /  1293 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                if (a >= 'a' && a <= 'z' || a >= 'A'&& a <= 'Z')
                {
                        for (j = 1; j < 4; j++)
                        {
                                char c = a + j;
                                // 这个地方只判断c是不是大于‘Z’就好,为什么还要加上一个数字呢?
                                if (c > 'z' || c > 'Z' && c <= 'Z' + 4 )
                                        c = c - 26;
                                printf("%c", c);
                        }
                }
                else
                        printf("%c", a);[/code]

以上是加密的算法,如输入Ash33ZZzz后输出BCDtopijk33ABCABCabcabc,就是每一个英文字母用后面的三个字母替代。
疑问
// 这个地方只判断c是不是大于‘Z’就好,为什么还要加上4呢?
if (c > 'z' || c > 'Z' && c <= 'Z' + 4 )

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

1 个回复

倒序浏览
后面c <= 'Z'+4;不用也不会影响结果啊,要后面的话,应该是c<'Z'+4,怎么也不会大于‘Z'+3
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马