gpt4 book ai didi

c - 关于 C 中 getchar 的行为

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:44 25 4
gpt4 key购买 nike

<分区>

我是 C 语言的初学者,如果这个问题听起来太琐碎,我深表歉意。

我对 getchar()putchar() 的理解是它们一次处理一个字符的文本流。假设我有这个程序,它从用户那里获取文本输入并将其显示在屏幕上:

#include <stdio.h>
main(){
int c;
c = getchar();
while(c!= EOF){
putchar(c);
c=getchar();
}
}

这是我认为正在发生的事情:

假设我运行这个程序并输入单词 Higetchar 读取第一个字符(即H)并将其存储在c 中。然后程序进入while循环,把H放到屏幕上。然后它获取下一个字符 (i) 并打印它。然后是 EOF,当 getchar 将值赋给 c 时,while 循环结束。因此,根据对所发生情况的解释,程序应该在打印完所有字符并到达文件末尾后结束。

但是,当我运行程序时,在打印字符串之后,程序会等待接收额外的输入,这意味着它不会结束,而是等待用户输入更多的文本流。

为什么会发生这种情况,我在哪里弄错了?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com