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 的情况下键入两个字符。