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

在上面的代码中,哪个字符会打破循环?
我是C新手,请帮助我。
另外,这个错误是什么意思:
codec5.c:8:2: warning: no newline at end of file

4

3 回答 3

1

该警告只是意味着您需要在源代码的末尾有一个新行。将光标放在}文件末尾的最后,main()然后按 Enter。

如果不是从文件加载,则需要检查特定字符以结束程序。如果您通过管道 ( |) (<在 Windows 中)将文件导入程序,则程序应该结束。如果您的程序被命名test.exe并且您的输入文件是foo.txt,请尝试运行test.exe < foo.txt(确保它们在同一目录中)。

于 2010-12-18T23:36:12.993 回答
0

它是一个特殊的常量,定义在stdio.h其中意味着文件的结尾

codec5.c:8:2:警告:文件末尾没有换行符

\n听起来您的文件末尾没有 a :)

于 2010-12-18T23:35:12.170 回答
0

通过在文件末尾放置一个换行符(将光标放在后面}并按回车键)来解决该错误。

我认为 Ctrl+Z 打破了循环,但我不确定。

于 2010-12-18T23:35:22.353 回答