2015-01-31 119 views
-8

當我嘗試使用c編程獲得輸入時,例如「輸入項目編號:」,並且當我運行該程序時,一個巨大的5或6位數字已經寫入,並且我只能在該編號之後編寫我的編號。問題是什麼?如何解決錯誤?

#include<stdio.h> 
int main() 
{ 
    int items; 

    printf("Enter the number of items: %d"); 
    scanf("%d", &items); 

    return 0; 
} 

這是什麼問題?爲什麼這個號碼已經寫好了?

+4

請添加完整源文件 – 2015-01-31 22:06:31

+1

請在這裏提出一個恰當的問題。 – 2015-01-31 22:07:12

+3

歡迎來到Stack Overflow。請閱讀[關於]頁面。對於這樣的情況,代碼至關重要。我們不能指望你做了什麼 - 我們需要你告訴我們你做了什麼。這可能是因爲你沒有傳遞一個指向'scanf()'的指針,但你的編譯器應該告訴你。 – 2015-01-31 22:07:32

回答

1

你的問題是在該行

printf("Enter the number of items: %d"); 

你告訴printf沒有提供一個打印一個整數(%d)。

只要刪除%d,你會沒事的。

+0

它的作品!謝謝喲! – Akshit 2015-01-31 22:38:03

1

您的printf語句中有一個未解決的%d

這使您得到一個隨機數,因爲您從未定義的數據中讀取。刪除%d,它將按預期工作。

另一件可能是您犯的錯誤是假設將%d放在那裏將打印下面的scanf參數的值。

事實並非如此,您必須在之前定義您試圖使用該數據。