在C中重复使用getchar()的问题

时间:2017-09-21 14:28:39

标签: c getchar

我的代码:

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

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

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

1 个答案:

答案 0 :(得分:-1)

  

getchar()要求用户输入一个字符,然后按Enter键将其分配给变量。

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

例如:

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