getchar()有什么用?

时间:2014-09-27 14:44:28

标签: c++ c getchar

我们在哪里使用getchar()代替scanf()cin? 另外,getchar()的语法不应该是char getchar()而不是int getchar()吗?因为我们正在阅读字符类型输入。

1 个答案:

答案 0 :(得分:2)

C和C ++是不同的语言; getchar存在于C中,而cin(本质上依赖于类)则不存在。与scanf相比,getchar也非常慢,因为scanf必须读取更多数据并执行比getchar更多的处理。

拥有getchar的另一个原因是它在像这样的while循环中使用

int c;
while ((c = getchar()) != EOF) {
  /* do some stuff here */
}

这样您就可以继续阅读字符,直到您明确到达EOF(或您选择的任何其他字符)。

顺便说一下,EOFint(因为它不是可以阅读的有效字符),这就是getchar必须返回int的原因}。