#include<stdio.h>
void main(){
int num1,num2;
printf("\n Enter number 1 \t "); // Ask for input one. >>>>>>>> line 1.
scanf("%d ",&num1);
printf("\n Entered number is %d \n",num1);
printf("\n Enter number 2 \t "); // Ask for input Two. >>>>>>>>> line 2.
scanf("%d ",&num2);
printf("\n Entered number is %d \n",num2);
return;
}
我想知道REASON。請提供它。在被要求從用戶輸入之前,scanf輸入輸入的好奇性質?
上述代碼接受兩個輸入,第一輸入被要求(通過執行第1行)然後用戶輸入一個號碼,然後終端應該問進入第二輸入,而是它正在採取其它數量(執行LINE2前)和然後要求輸入第二個輸入(即在執行第二行之後)。
到底是被顯示兩個輸入正在執行線兩條但採取前後,在執行第1行
我confused.I很有興趣知道原因。 我在ubuntu 14.04 64位機器上使用GCC 4.8.2。
這是工作perfectly..http://ideone.com/Xy9d3A – Blackhat002 2014-11-01 10:06:15
你有沒有閱讀文檔[scanf(3)](http://man7.org/linux/man-pages/man3/scanf.3.html)(你應該測試它的結果)和[stdio(3)](http:// (您可能需要致電[fflush(3)](http://man7.org/linux/man-pages/man3/fflush.3 .html)在適當的地方)? – 2014-11-01 10:07:14
可能重複的[從標準輸入刷新stdout嗎?](http://stackoverflow.com/questions/2123528/does-reading-from-stdin-flush-stdout) – ninjalj 2014-11-01 10:23:45