因此,我有一个printf
,它询问用户的中间名首字母,然后我在它下面有一个scanf
,然后我输出用户的中间名。我的问题是我的printf
显示在我的scanf
之后
C代码
#include <stdio.h>
#include <string.h>
int main(void) {
char middleInitial;
printf("What is your middle initial? ");
scanf(" %c", &middleInitial);
printf("Middle initial %c", middleInitial);
}
如你所见,有两个printf
,在我的第一个printf
显示问题之前,我的scanf
正在运行。
示例(这是我在终端中得到的)
$ ./a.exe
c
What is your middle initial? Middle initial c
我想要什么
$ ./a.exe
What is your middle initial? c
Middle initial c
顺便说一句,c是用户输入的
发布于 2017-04-14 09:05:17
在调用scanf()
之前先调用fflush(stdout)
。
发布于 2021-07-27 00:45:50
在第一个scanf()
之前键入fflush(stdout);
应在第一个printf()
之后
在我的windows个人电脑上,我也面临着同样的问题。如果你使用不同的操作系统,你可能不需要它。
https://stackoverflow.com/questions/43403846
复制相似问题