【问题标题】:C basic code not working as expectedC 基本代码未按预期工作
【发布时间】: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 操作系统吗?

标签: c getchar


【解决方案1】:
#include <stdio.h>

main()
{
    int c;
    c = getchar();
    while (c != EOF) {
        putchar(c);
        c = getchar();
    }
}

工作正常。

了解getchar 的基本概念:- getchar 是 C 编程语言中的一个函数,它从标准输入流 stdin 中读取单个字符,无论它是什么,并将其返回给程序。

主要问题必须出在 IDE 上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多