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