C语言do-while循环中未声明变量错误的修复方法
代码错误修复说明
你的代码出现未声明变量错误,核心原因是变量作用域问题:int sp是在do的代码块内部声明的,C语言中块内声明的变量仅在当前块内有效,跳出这个块后sp就不再存在,所以while条件里访问sp会触发未声明错误。
另外你的循环逻辑也写反了:你需要接收≥9的输入,应该在输入小于9时重新提示,所以while的判断条件应该是sp < 9而非sp >=9。
修复后的代码如下:
int sp; do { sp = get_int("Enter the start size of llama population:"); } while (sp < 9);
把sp的声明移到do-while循环外部,让它的作用域覆盖整个循环,这样while条件就能正常访问到变量;同时修正循环条件,确保输入不符合要求时会重复提示用户。
内容的提问来源于stack exchange,提问作者JH11
相关产品推荐
相关产品推荐

