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之间,我就试图使此代码块循环。我不断收到错误消息,指出该变量需要初始化。我敢肯定这是一件小事,但是我不知道如何用C语言进行评估或更正。
最佳答案
只需将int towerh;
更改为int towerh = 0;
。这就是所谓的初始化变量,通常C编译器会在您错过它时讨厌它。
另外,您在循环中一次又一次创建towerh
,我建议在未提及的scanf
上使用GetInt
,这样您可以以:
int towerh = 0;
do {
printf("Give me an integer between 1 and 23 and I will make a tower: ");
scanf("%d", &towerh);
} while (towerh < 1 || towerh > 23);
关于c - 使用while循环输入时出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41317766/