我编写控制台应用程序,为int执行几个scanf,然后执行getchar:
int x,y;
char c;
printf("x:\n");
scanf("%d",&x);
printf("y:\n");
scanf("%d",&y);
c = getchar();
Run Code Online (Sandbox Code Playgroud)
因此,我得到了c = '\n'
,尽管输入是:
1
2
a
Run Code Online (Sandbox Code Playgroud)
这个问题怎么解决?
Fre*_*Foo 12
这是因为scanf
保留您在输入流中键入的换行符.尝试
do
c = getchar();
while (isspace(c));
Run Code Online (Sandbox Code Playgroud)
代替
c = getchar();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
47782 次 |
最近记录: |