15917579239 发表于 2017-4-16 08:39:47

课后作业代码求解答

#include <stdio.h>

int main()
{
      int ch;

      printf("请输入一行英文句子:");

      while ((ch = getchar()) != '\n')
      {
                if (ch >= 'A' && ch <= 'Z')
                {
                        ch = ch - 'A' + 'a';
                }
                else if (ch >= 'a' && ch <= 'z')
                {
                        ch = ch - 'a' + 'A';
                }

                putchar(ch);
      }

      putchar('\n');

      return 0;
}

其中 ch = ch - 'A' + 'a'; 这句代码 和 ch = ch - 'a' + 'A';    putchar(ch);    putchar('\n');这几句代码分别什么意思

Seboomm 发表于 2017-4-16 10:51:03

ch = ch - 'A' + 'a'
单引号是转换成ASCII码进行大小写转换
putchar
是向终端输出一个字符,该字符的ASCII如果在0介于127之间就会转为字符
如果输出错误就会返回EOF错误

Seboomm 发表于 2017-4-16 10:57:38

Seboomm 发表于 2017-4-16 10:51
ch = ch - 'A' + 'a'
单引号是转换成ASCII码进行大小写转换
putchar


整个ASCII都在0~127之间,就是00000000~01111111
页: [1]
查看完整版本: 课后作业代码求解答