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'放入循环中以分配给循环外定义的变量。这就是达尔顿水槽所说明的 - 但没有完全解释。 –