我编写控制台应用程序,它为 int 执行多个 scanf 然后,我执行 getchar :
int x,y;
char c;
printf("x:\n");
scanf("%d",&x);
printf("y:\n");
scanf("%d",&y);
c = getchar();
作为结果,我得到了 c = '\n'
,尽管输入是:
1
2
a
如何解决这个问题?
最佳答案
这是因为 scanf
在输入流中留下了你输入的换行符。尝试
do
c = getchar();
while (isspace(c));
代替
c = getchar();
关于c - 从控制台读取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8853154/