do{
float diameter;
scanf("%f",&diameter);
Printf("Please input diameter");
if(cheack1(diameter) == 0){
Printf("Please input a valid number greater than 0");
}else{
circle(&area, &perimeter, diameter);
}
int cheack = cheack1(diameter);
}while(cheack == 1);
Run Code Online (Sandbox Code Playgroud)
我的do-while循环有问题.如你所见,我已经宣布了
int cheack = cheack1(diameter); 在cheack1(diameter);cheacks如果我输入的是正确的,如果它是正确的返回1.
但我的错误是:
p7t5.c: In function ‘main’:
p7t5.c:87:11: error: ‘cheack’ undeclared (first use in this function)
似乎while(cheack == 1);是不记得cheackdo-while循环内部.
小智 8
尝试在循环之外将其声明为这样 - 原因 - 它的范围是块范围.这就是为什么它显示错误.
int cheack;
do{
float diameter;
scanf("%f",&diameter);
Printf("Please input diameter");
if(cheack1(diameter) == 0){
Printf("Please input a valid number greater than 0");
}else{
circle(&area, &perimeter, diameter);
}
cheack = cheack1(diameter);
}while(cheack == 1);
Run Code Online (Sandbox Code Playgroud)