-5
printf("Give name: ");
fgets(name, 50, stdin);
printf("Give surname: ");
fgets(surname, 50, stdin);
所有這一切都是在一個循環及以後的第一次,它打印命令給名字,那麼完全跳過它,並打印命令給姓。循環是無止境的,而(在我的代碼它與斷裂出來;和一小會兒後,結束):2與fgets一前一後,第一個被後第一時間跳過
while (1) {
printf("Give name : ");
fgets(name, 50, stdin);
printf("Give surname: ");
fgets(surname, 50, stdin);
printf("Give ID: ");
scanf("%d", &ID);
}
而且name
和surname
是數組。爲什麼跳過第一個名字?
編輯:
你是對的。下面我有一個scanf
他們的ID
號碼,完全忘了用getchar
擺脫\n
這個角色。感謝您的快速回復。
你在幹什麼* *前的循環?您是否在使用例如'scanf'讀取其他一些輸入? –
最有可能的原因是,您的實際循環包含更多未在此處發佈的代碼。請僅發佈您測試過的代碼。 – interjay
歡迎來到Stack Overflow!你介意創建一個[___MCVE___](http://stackoverflow.com/help/mcve)? –