为什么 getchar() 只接受一个输入

Why getchar() is taking only one input

这是我的代码

#include <stdio.h>
#include <stdlib.h>
int main(){
char c,d;
c=getchar();
d=getchar();
printf("%c   %c",c,d);
return 0;}

这里我要求 2 个输入,但它在接受一个输入后停止。我的意思是,如果我只写一个字符并按回车键,它只会显示那个字符。不询问任何进一步的输入。

但是当我同时给出两个输入然后按回车键时,它同时显示了两个。

因此,getchar() 正在使用键入的单个字符。但是如果你输入 c 后跟 enter 你实际上给它 2,第二个是 enter。因此,第二个 getchar() 实际上正在接收 enter 密钥,因此您会在顶部输出中看到额外的空白行。