int towerh;
do{
printf ("give me an integer between 1 and 23 and I will make a tower");
int towerh = GetInt();
}while (towerh < 1 || towerh > 23);
我試圖讓只要towerh
這個代碼塊循環不是1到23之間我不斷收到錯誤,稱該變量需要初始化。故障使用輸入while循環
我敢肯定,這是一個很小的事情,但我不知道如何評估或更正它C.
「廉政towerh; 做{printf的 (「給我一個整數1到23之間,我會做一個塔」); 012htowerh = GetInt(); (towerh <1 || towerh> 23);' –
你應該添加標籤cs50 –
問題是你有兩個變量叫'towerh',一個在循環體內聲明,一個在外面。循環條件測試循環外部定義的變量,但由'GetInt()'讀取的值被分配給循環內定義的變量。這在大括號中超出了範圍。您應該簡單地將'int'放入循環中以分配給循環外定義的變量。這就是達爾頓水槽所說明的 - 但沒有完全解釋。 –