[英]scanf before printf - C
所以,我有一個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是用戶輸入的
在調用scanf()
之前調用fflush(stdout)
scanf()
。
輸入fflush(stdout);
就在你的第一個scanf()
應該在第一個printf()
在我的 Windows 電腦中,我面臨同樣的問題。 如果您使用不同的操作系統,您可能不需要它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.