c - 在 C 中重复使用 getchar() 时出现的问题

标签 c getchar

我的代码:

#include "stdio.h"
main() {
    char a,b;
    a=getchar();
    b=getchar();

    putchar(a);
    putchar('\n');
    putchar(b);
}

getchar() 要求用户输入一个字符,然后按 Enter 键将其分配给变量。我希望程序让我输入该字符两次,每次都按 Enter 键完成。但我只能输入一个字符串,程序会自动读取前两个字符并将它们分配给每个变量。 有什么问题?

最佳答案

getchar() requires user to enter a character and then press enter to assign it to the variable.

没有。 getchar()接受单个字符作为输入。甚至输入\n getchar() 被视为单个字符。 因此,当您输入一个字符时,它将是第一个 getchar() 的输入。并输入'\n'将是第二个 getchar() 的输入.

例如:

当您按a时它将首先被 getchar() 读取,之后如果你输入 '\n'它将被视为第二个 getchar() 的输入。

关于c - 在 C 中重复使用 getchar() 时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46346602/

相关文章:

c++ - 带文本叠加的双缓冲 AlphaBlend 矩形

从文本文件创建数组并用 C 对其进行组织

c - "Segmentation Fault (core dumped)"是什么?为什么它会在我的输出中返回?

c - 跳过 getchar 和 scanf 的麻烦

c - C中快捷键的解释

c++ - C/C++ 元程序的预处理

c - 文件 C 程序中奇怪的 getchar() 输出

c++ - getchar() 或 putchar() 不断吃掉我输入的第一个字符

c - 尝试仅使用 getchar/putchar 输出用户输入

c++ - 如何将值从主机字节顺序转换为小尾数?