2017-06-20 43 views
-1

我最近開始編碼c。我想知道如何根據用戶需要(通過輸入)多次重複/循環任務。重複任務/代碼塊X次(由用戶介紹)

int a,i; 

scanf("%d", a); 
for(i=0; i<a; i++){...} 

這是我想出的代碼,但它不起作用。這是一個無限循環。

+4

請仔細閱讀文檔。 'scanf(「%d」,a);'--->'scanf(「%d」,&a);' – StoryTeller

+2

什麼是您要重複的「結構」? – JeffRSon

+0

嘗試打印以檢查用戶是否真的輸入在那裏......如果沒有,仔細檢查你的scanf ...... – CIsForCookies

回答

0

您需要一個&才能掃描到。

int a,i; 

scanf("%d", &a); 
for(i=0; i<a; i++){...} 

在這裏閱讀更多關於掃描整數的內容。

How to scanf only integer?

0

變化scanf("%d", a)scanf("%d", &a)

的代碼沒有爲你工作,因爲你沒有存儲用戶輸入的值。
修改代碼爲我的建議嘗試打印在你的代碼的a的價值,你會得到它,爲什麼它不工作之前..

+0

實際上,它是**不是**無限循環 - 只有一個運行很長時間(假設我沒有修改任何更多的在循環體內...)。 – Aconcagua

+0

由於編譯器將垃圾分配給它,因此無法預測「i」的值 –

0

的問題是在行:

scanf("%d", a); 

你必須使用:

scanf("%d", &a); 

&符號表示的地址,你要存儲變量a的地址輸入值。

瞭解更多關於符號在這裏: When should I use ampersand with scanf()