黑马程序员技术交流社区
标题:
小困惑!求大神科普!!!
[打印本页]
作者:
FlyTrem
时间:
2014-4-12 18:54
标题:
小困惑!求大神科普!!!
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 )
作者:
stone24
时间:
2014-4-12 19:25
后面c <= 'Z'+4;不用也不会影响结果啊,要后面的话,应该是c<'Z'+4,怎么也不会大于‘Z'+3
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2