我是C編程的完整初學者,我有一個問題。我會帶一個簡單的代碼爲例:'printf'後跟'scanf'需要按ENTER鍵兩次才能接受輸入
#include <stdio.h>
int main(void)
{
int x;
printf("Please type the number 10.");
scanf("%i\n", &x);
if (x == 10)
printf("Thank you!\n");
return 0;
}
正如預期的那樣,當我編譯並運行這個程序,我的終端顯示消息:
"Please type the number 10."
然後等待輸入,所以我輸入它要求的號碼(10),然後按輸入。問題是,我按ENTER一次後,它移動到一個新的行,並等待更多的輸入。只有輸入10並再次按下ENTER後,它纔會繼續(...顯示「Thank you!」)。
因此,我必須按輸入兩次才能接受我的輸入。有誰知道爲什麼發生這種情況?
你確定這只是一個'printf'後會發生什麼? –
更改爲'scanf(「%i」,&x);'(no \ n) – bengoesboom