suchenxiang 发表于 2022-2-15 18:59:38

不太理解为什么这里的ch是字符,但是代码中是做为整形处理

#include <stdio.h>

int main()
{
      int ch;

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

      while ((ch = getchar()) != '\n')
      {
                if (ch >= 'a' && ch <= 'z')
                {
                        putchar('a' + (ch - 'a' + 3) % 26);
                        continue;
                }

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

                putchar(ch);
      }

      putchar('\n');

      return 0;
}

isdkz 发表于 2022-2-15 19:13:59

字符类型它存储到计算机里就是数字来的,因为计算机只认识0和1,字符相对应的数字是根据它的编码,所以字符是可以当作整型处理的

英文字母存到计算机里都是用ascii码存储的

大马强 发表于 2022-2-15 19:46:26

可以看下scaii表就能明白了,每个字符都有整型相对应
https://static01.imgkr.com/temp/e19506d2acd141f6bb3d08d7285d917c.png
页: [1]
查看完整版本: 不太理解为什么这里的ch是字符,但是代码中是做为整形处理