风过无痕丶 发表于 2017-11-26 16:01:59

带你学C带你飞 S1E15课后作业求助!

#include <stdio.h>

int main()
{
      int ch;

      printf("请输入明文:");

      while ((ch = getchar()) != '\n')
      {
                if (ch >= 'a' && ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);      // 不理解这段代码,如果输入的是 ' o '(97 + (111 - 97 + 3)%26) ==97 + 17%26 == 97 +0???
                        continue;
                }

                if (ch >= 'A' && ch <= 'Z')
                {
                        putchar('A' + (ch - 'A' + 3) % 26);
                        continue;
                }

                putchar(ch);
      }

      putchar('\n');

      return 0;
}


看了整体有点晕。。。希望大神帮我梳理一下运行流程。。

BngThea 发表于 2017-11-26 16:21:19

17%26==17

风过无痕丶 发表于 2017-11-26 16:34:19

BngThea 发表于 2017-11-26 16:21
17%26==17

...哈哈 豁然开朗!
页: [1]
查看完整版本: 带你学C带你飞 S1E15课后作业求助!