我最近開始編碼c。我想知道如何根據用戶需要(通過輸入)多次重複/循環任務。重複任務/代碼塊X次(由用戶介紹)
int a,i;
scanf("%d", a);
for(i=0; i<a; i++){...}
這是我想出的代碼,但它不起作用。這是一個無限循環。
我最近開始編碼c。我想知道如何根據用戶需要(通過輸入)多次重複/循環任務。重複任務/代碼塊X次(由用戶介紹)
int a,i;
scanf("%d", a);
for(i=0; i<a; i++){...}
這是我想出的代碼,但它不起作用。這是一個無限循環。
您需要一個&才能掃描到。
int a,i;
scanf("%d", &a);
for(i=0; i<a; i++){...}
在這裏閱讀更多關於掃描整數的內容。
變化scanf("%d", a)
到scanf("%d", &a)
的代碼沒有爲你工作,因爲你沒有存儲用戶輸入的值。
修改代碼爲我的建議嘗試打印在你的代碼的a
的價值,你會得到它,爲什麼它不工作之前..
實際上,它是**不是**無限循環 - 只有一個運行很長時間(假設我沒有修改任何更多的在循環體內...)。 – Aconcagua
由於編譯器將垃圾分配給它,因此無法預測「i」的值 –
的問題是在行:
scanf("%d", a);
你必須使用:
scanf("%d", &a);
&
符號表示的地址,你要存儲變量a
的地址輸入值。
瞭解更多關於符號在這裏: When should I use ampersand with scanf()
請仔細閱讀文檔。 'scanf(「%d」,a);'--->'scanf(「%d」,&a);' – StoryTeller
什麼是您要重複的「結構」? – JeffRSon
嘗試打印以檢查用戶是否真的輸入在那裏......如果沒有,仔細檢查你的scanf ...... – CIsForCookies