#include <cstdio>
int main()
{
int i;
printf("%d", scanf("%d", &i));
}
任何數字I輸入輸出奇怪,我得到的輸出:使用scanf函數
1
爲什麼會這樣呢?
#include <cstdio>
int main()
{
int i;
printf("%d", scanf("%d", &i));
}
任何數字I輸入輸出奇怪,我得到的輸出:使用scanf函數
1
爲什麼會這樣呢?
你輸出的scanf的結果,這是不是你輸入號碼,但被成功讀取的項目數量。您輸入的號碼存儲在i中。爲了輸出它,你會寫一個額外的行:
#include <cstdio>
int main()
{
int i;
if (scanf("%d",&i) == 1)
printf("%d", i);
}
S.O.中太多未驗證的輸入。問題,也不希望它在答案中! - * *更好* if(scanf(「%d」,&i)== 1)printf(「%d \ n」,i);' – 2011-04-22 09:38:39
根據您的建議進行編輯。 – Tommy 2011-04-22 11:55:22
那麼,我最好給你+1然後;-)。乾杯。 – 2011-04-22 15:10:47
scanf()
返回讀取的項目數,當它成功。這裏它的讀數只有一個數字,因此每次輸出都是1,不管數字是多少。
''是一個C標準頭。 –
Puppy
2011-04-22 10:37:08
@ DeadMG-你很荒謬。 'C標準庫中的每個頭文件都以不同的名稱包含在C++標準庫中,通過刪除.h並在開始處添加'c'來生成。問題是C和C++都是特定的。 – Sadique 2011-04-22 11:41:03