身寸白勺女少 发表于 2019-4-21 14:32:58

【求助帖】关于putchar函数

看小甲鱼putchar函数的解释里面什么标准输出流什么的搞不懂。。。。

想问一下:倒数第3行putchar('\n')是啥意思和上面的getchar()!='\n'有啥关系吗
int main()


{
      int ch;
      prtinf("请输入一行英文句子:");
      while((ch = getchar())!='\n')
      {
         if('A'<= ch && ch<='Z')
         {
               ch = ch + 32;
         }
         else if('a'<= ch && ch <='z')
         {
                ch = ch - 32;
         }

         putchar(ch);
      }

      putchar('\n');

      return 0;

Croper 发表于 2019-4-21 15:09:44

标准输出流一般输出到屏幕,你也可以把它重定向到其他的文件中;
标准输入流一般指键盘输入,同样你也可以把它重定向到其他的文件中;

你的问题:没有关系,getchar()!='\n'是为了判断输入结束,因为换行一般代表输入结束,
putchar('\n')是为了在输出完毕后打印一个换行,保证格式的美观,去掉也不影响大局。

jackz007 发表于 2019-4-21 15:10:14

int main()
{
      int ch                                             ;
      prtinf("请输入一行英文句子:")                     ;
      while((ch = getchar()) !='\n') {                      // 从键盘输入字符换串,只要其中不包含字符 '\n' (回车)就一直循环
                if('A'<= ch && ch<='Z') ch = ch + 32       ;// 如果输入的某个字符是大写字母就转换为小写
                else if('a'<= ch && ch <='z') ch = ch - 32 ;// 否则,如果是小写字母就转换为大写
                putchar(ch)                              ;// 在屏幕上显示输出这个字符
      }
      putchar('\n')                                    ;// 最后向屏幕输出字符'\n'(回车换行)
}

王海东 发表于 2020-2-11 10:48:01

jackz007 发表于 2019-4-21 15:10


那请问为啥不用print函数而要引入putchar函数呢?

jackz007 发表于 2020-2-11 13:51:11

王海东 发表于 2020-2-11 10:48
那请问为啥不用print函数而要引入putchar函数呢?

      其实,这一句
                putchar(ch) ;
      如果把 putchar() 改成 printf()
                printf("%c" , ch);
      也是可以的,效果完全一样。

王海东 发表于 2020-2-12 09:57:48

jackz007 发表于 2020-2-11 13:51
其实,这一句

      如果把 putchar() 改成 printf()


谢谢
页: [1]
查看完整版本: 【求助帖】关于putchar函数