int main()
{
int r, c;
r = getchar();
c = getchar();
putchar(r);
putchar(c);
printf("\n");
return(0);
}
读入后r
,程序输出r
并退出。我希望它要求c
并输入它,但它为什么不这样做?
您是在同一行还是在 2 行上输入字符?
getchar()
将等到您按下回车键,然后开始解析字符。如果您在 2 个不同的行上输入了 2 个字符,它将读取第一个字符,然后是\n
字符。
我的意思是,以下输入:
a
b
相当于"a\nb"
。
getchar()
将抓住\n
而不是b
,并打印a\n\n
。
您想键入两个字符,然后才按回车键。
您可能正在输入X+ Enter。第一个getchar()
读取字符X
,第二个getchar()
读取按 Enter 时生成的换行符。在不按 Enter 的情况下键入两个字符。