心鲜旅人 发表于 2020-4-13 21:52:16

不太理解putchar函数的用法

有关putchar函数甲鱼老师举了一个例子
#include <stdio.h>

int main()
{
      int ch = 'A';
      int count = 3;

      while (count)
      {
                ch = ch + count;
                count = count - 1;
                putchar(ch);
      }

      putchar('\n');

      return 0;
}
在课后作业中有个大小写字母转换中也用的了putchar函数
#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;
}
putchar函数的定义我没看太懂,可从这两个例子看,该函数给我的感觉是,先输入一个或多个字符,再同过putchar(‘\n’)一下输出出来。大佬们有更为通俗的说法吗?那定义确实不太懂。

qiuyouzhi 发表于 2020-4-13 21:53:46

这个玩意就是输出一个字符,
那个putchar('\n')就是输出一个换行符(也就是换行)。

永恒的蓝色梦想 发表于 2020-4-13 21:55:04

putchar就是输出单个字符的,跟getchar相反

sunrise085 发表于 2020-4-13 22:27:36

putchar()只能输出一个字符,他和getchar()是一对函数,getchar是获取一个字符。
你之所以认为putchar输出一串字符,是因为你没有看到在循环中有个putchar
每次循环都会输出一个字符,循环结束后,只是输出一个回车字符而已。

Anderson_Cooper 发表于 2021-2-26 22:23:51

本帖最后由 Anderson_Cooper 于 2021-2-26 22:26 编辑

我俩居然想到一块去了{:10_297:}
我还把putchar('\n')换了很多个位置,发现输出的结果字符串位置就没有变过{:10_266:} {:10_266:} {:10_266:}
页: [1]
查看完整版本: 不太理解putchar函数的用法