我们在哪里使用 getchar()
而不是 scanf()
或 cin
?
另外,getchar()
的语法不应该是 char getchar()
而不是 int getchar()
吗?由于我们正在读取字符类型输入。
最佳答案
C 和 C++ 是不同的语言; getchar
存在于 C 中,而 cin
(本质上依赖于类)则不存在。此外,与 getchar
相比,scanf
非常慢,因为 scanf
必须比 getchar 读取更多数据并进行更多处理
确实如此。
使用 getchar
的另一个原因是它用于像这样的 while 循环
int c;
while ((c = getchar()) != EOF) {
/* do some stuff here */
}
这样您就可以继续读取字符,直到您明确到达EOF
(或您选择的任何其他字符)。
顺便说一句,EOF
是一个int
(因为它不是可以读取的有效字符),这就是为什么getchar
必须返回一个int
。
关于c++ - getchar()有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26075816/