【发布时间】:2016-07-06 23:27:19
【问题描述】:
我刚刚开始学习 C,但我遇到了一些基本代码的问题。根据我正在阅读的书(C 编程语言),此代码应接受用户输入然后输出。相反,我只是在程序关闭之前获取输入的第一个字母
#include <stdio.h>
main()
{
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}
}
【问题讨论】:
-
你应该使用
int main,因为implicit-int 已经过时了。另外,最后返回 0。 -
尝试重定向输入,以便从文件中读取。当输入回显到与写入输出相同的设备(例如屏幕)时,您不一定会看到您期望的所有内容。
-
你是如何准确运行这个的?代码看起来是正确的,与下面的共识相反。此将行缓冲标准输出,因此在输入 cr/lf 之前您不会看到任何输出,但如果您键入“blah”并按 Enter,之后您应该会看到“blah”。跨度>
-
我在ideone.com/qh3tak 运行成功。是的,WhozCraig 是对的,它在功能上是相同的代码。实际上,代码非常正确(这是 Kernighan & Ritchie 的一个示例)。所以问题一定出在OP的IDE中。
-
你使用的是 win 操作系统吗?