c语言中的getchar如何使用?

如题所述

getchar的两点总结:
1.getchar是以行为单位进行存取的。
当用getchar进行输入时,如果输入的第一个字符为有效字符(即输入是文件结束符EOF,Windows下为组合键Ctrl+Z, Unix/Linux下为组合键Ctrl+D,

那么只有当最后一个输入字符为换行符'\n'(也可以是文件结束符EOF,EOF将在后面讨论时, getchar才会停止执行,整个程序将会往下执行。

譬如下面程序段:


while((c = getchar()) != EOF){ putchar(c);}

执行程序,输入:abc,

然后回车。

则程序就会去执行puchar(c),

然后输出abc,

这个地方不要忘了,系统输出的还有一个回车。

然后可以继续输入,再次遇到换行符的时候,程序又会把那一行的输入的字符输出在终端上。


对于getchar,肯定很多初学的朋友会问,getchar不是以字符为单位读取的吗?那么,

既然我输入了第一个字符a,

肯定满足while循环(c = getchar()) != EOF的条件阿,

那么应该执行putchar(c)在终端输出一个字符a。不错,我在用getchar的时候也是一直这么想的,但是程序就偏偏不着样执行,而是必需读到一个换行符或者文件结束符EOF才进行一次输出。

2.getchar()的返回值一般情况下是字符,但也可能是负值,

即返回EOF。

温馨提示:答案为网友推荐,仅供参考
相似回答