为什么要用getchar读取和打印整个字符串? #包括 void main() { char c=getchar(); 而(c!='。) { 普查尔(c); c=getchar(); } }

为什么要用getchar读取和打印整个字符串? #包括 void main() { char c=getchar(); 而(c!='。) { 普查尔(c); c=getchar(); } },c,getchar,C,Getchar,当您运行上述代码并输入任何字符串(如“Shubham jain”)时。整个字符串被复制并打印,而getchar()应该只读取字符串中的第一个字符。有人能解释一下这是怎么发生的吗?当您使用程序输入字符串时,它会在getchar函数中自动为字符串中的每个字符提供输入,并多次调用它。当循环检测到“.”时,程序停止读取更多字符。因此输入字符串被缓冲,并且当下次调用getchar()时,它不会再次等待用户输入新字符,而是从输入缓冲区中获取它。getchar不是char它实际上是int。通常,您可以将在ge

当您运行上述代码并输入任何字符串(如“Shubham jain”)时。整个字符串被复制并打印,而
getchar()
应该只读取字符串中的第一个字符。有人能解释一下这是怎么发生的吗?

当您使用程序输入字符串时,它会在
getchar
函数中自动为字符串中的每个字符提供输入,并多次调用它。当循环检测到“.”时,程序停止读取更多字符。

因此输入字符串被缓冲,并且当下次调用getchar()时,它不会再次等待用户输入新字符,而是从输入缓冲区中获取它。

getchar
不是
char
它实际上是
int
。通常,您可以将在
getchar
中输入的内容存储为整数,然后将其转换为字符。现在,为什么它什么都读
getchar并没有它所读取的特定大小,但这与
EOF
有更多关系。使用
getc`读取单个字符。

如果您认为这是正确答案,请接受。
#include <stdio.h>
void main()
{
char c = getchar();
while ( c != '.')
{
putchar(c);
c = getchar();
}
}