C 基本代码未按预期工作
Posted
技术标签:
【中文标题】C 基本代码未按预期工作【英文标题】:C basic code not working as expected 【发布时间】: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 操作系统吗?
【参考方案1】:
#include <stdio.h>
main()
int c;
c = getchar();
while (c != EOF)
putchar(c);
c = getchar();
工作正常。
了解getchar
的基本概念:- getchar
是 C 编程语言中的一个函数,它从标准输入流 stdin
中读取单个字符,无论它是什么,并将其返回给程序。
主要问题必须出在 IDE 上。
【讨论】:
以上是关于C 基本代码未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章