FanXing3 发表于 2023-5-12 21:37:59

新人求教 课后作业S1E13关于 函数putchar的意思

我看了小甲鱼那个对putchar的介绍
while ((ch = getchar()) != '\n')

这后面那个'\n'是干嘛用的
getchar 函数从标准输入流(stdin)中获取下一个字符 这句话有更加通俗易懂的意思吗

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;

sfqxx 发表于 2023-5-12 21:47:20

'\n'表示换行符,是一个特殊的字符,表示将光标移到下一行的行首。在这里,while((ch = getchar()) != '\n')表示从输入流中不断读取字符并且判断是否读取到了换行符,如果读取到换行符就结束读取。这样做的目的是为了读取输入流中的一个完整行。

getchar函数是从标准输入流(stdin)中读取一个字符,并返回该字符的ASCII码。所以,while ((ch = getchar()) != '\n')表示从stdin中读取一个字符并赋值给变量ch,然后判断是否为回车符('\n'),如果不是则执行后面的代码,如果是则停止循环。

最后的putchar('\n')表示输出一个换行符,目的是为了使输出结果更美观,增加可读性。
有用请设置最佳答案

isdkz 发表于 2023-5-12 21:49:06

首先,我们来逐步解释这段代码的作用。

这段代码的目标是从标准输入(通常是键盘输入)读取字符,对字符进行处理,然后输出到屏幕上。这里的处理是将大写字母转换为小写字母,将小写字母转换为大写字母。

1.while ((ch = getchar()) != '\n') :这个循环会持续读取输入的字符,直到遇到换行符('\n')为止。换行符通常是用户按下Enter键时产生的。

2.getchar 函数的作用是从标准输入流(stdin)中获取下一个字符。在这里,“标准输入流”指的是键盘输入。

3.if 和 else if 语句分别用于判断读取到的字符是否为大写字母或小写字母,并进行相应的转换。

4.putchar(ch) :这句代码的作用是将处理后的字符 ch 输出到屏幕上。

5. 在循环结束后, putchar('\n') 语句用于输出一个换行符。这样可以使得输出结果在屏幕上显示得更整齐。换行符在这里起到了类似于“Enter键”的作用,将光标移动到下一行的开头位置。

总结一下,这段代码的主要功能是读取用户输入的字符,将大写字母转换为小写字母,将小写字母转换为大写字母,并将处理后的字符输出到屏幕上。当遇到换行符时,循环结束,并在最后输出一个换行符。

sfqxx 发表于 2023-5-12 21:50:00

isdkz 发表于 2023-5-12 21:49
首先,我们来逐步解释这段代码的作用。

这段代码的目标是从标准输入(通常是键盘输入)读取字符,对字符 ...

{:10_244:}

isdkz 发表于 2023-5-12 21:50:45

sfqxx 发表于 2023-5-12 21:50


{:10_245:}

FanXing3 发表于 2023-5-12 22:08:40

sfqxx 发表于 2023-5-12 21:47
'\n'表示换行符,是一个特殊的字符,表示将光标移到下一行的行首。在这里,while((ch = getchar()) != '\n' ...

感谢大佬,懂了懂了

FanXing3 发表于 2023-5-12 22:09:17

isdkz 发表于 2023-5-12 21:49
首先,我们来逐步解释这段代码的作用。

这段代码的目标是从标准输入(通常是键盘输入)读取字符,对字符 ...

感谢大佬懂了懂了

isdkz 发表于 2023-5-12 22:10:29

FanXing3 发表于 2023-5-12 22:09
感谢大佬懂了懂了

不客气,给个最佳支持一下呗{:5_109:}

sfqxx 发表于 2023-5-12 22:22:37

isdkz 发表于 2023-5-12 22:10
不客气,给个最佳支持一下呗

{:10_244:}

歌者文明清理员 发表于 2023-5-12 22:23:13

sfqxx 发表于 2023-5-12 22:22


{:10_277:}

sfqxx 发表于 2023-5-12 22:23:18

isdkz 发表于 2023-5-12 22:10
不客气,给个最佳支持一下呗

凭什么?

isdkz 发表于 2023-5-12 22:24:44

sfqxx 发表于 2023-5-12 22:23
凭什么?

你没有叫过楼主给最佳?{:10_256:}

sfqxx 发表于 2023-5-12 22:43:35

isdkz 发表于 2023-5-12 22:24
你没有叫过楼主给最佳?

{:10_249:}
页: [1]
查看完整版本: 新人求教 课后作业S1E13关于 函数putchar的意思