c - 我想 getchar 两次,但我不能

标签 c getchar

int main()
{
    int r, c;
    r = getchar();
    c = getchar();
    putchar(r);
    putchar(c);
    printf("\n");
    return(0);
}

读入r后,程序输出r并退出。我希望它询问 c 并输入它,但为什么它不这样做?

最佳答案

您输入的字符是在同一行还是两行?

getchar() 将等待您按下 Enter 键,然后开始解析字符。如果您在 2 个不同的行中输入了 2 个字符,它将读取第一个字符 ,然后读取 \n 字符

我的意思是,以下输入:

a
b

相当于“a\nb”

getchar() 将获取 \n 而不是 b,并打印 a\n\n .

您想要输入这两个字符,然后按 Enter 键。

关于c - 我想 getchar 两次,但我不能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5609267/

相关文章:

c - 如何让使用 getchar 的程序运行?

c - 将固定大小的数组传递给具有指针参数的函数

c - 将 ASCII 字节流发送到管道

iphone - Obj C 或 C 的三次样条类?

c - 有效地初始化 C 中的数组/数据 block

C - Windows 输入重定向与 getchar 不起作用?

c - 字符串运行时错误仅适用于 getchar 为什么?

c - putchar() 奇怪的输出,为什么会这样?

c - 在 ARM 中使用 'restrict' 关键字会改进我的代码吗?

c - 如何在没有fopen的情况下读取C中的文本文件