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