当循环在条件C++之前停止工作时

While Loop stops working before condition C++

本文关键字:停止工作 C++ 循环 条件      更新时间:2023-10-16

while循环应该在12处停止,但在9处结束。另外,请忽略我拼写错误的英寸。

int main() { 
double rainFall[12]; 
int i = 0; 
while(rainFall[i] > 0 && i < 12 ){ 
cout << "Enter your rainfaill in incehs for month #" << i + 1 << ": " ; 
cin >> rainFall[i]; 
i++;
}
} 

输入/输出:输入第1:9个月的降雨量

输入第2:9个月的降雨量

输入您在第3:9个月的降雨量

输入您在第4:9个月的降雨量

输入第5:9个月的降雨量

输入#6:9 月份的降雨量

输入#7:9 月份的降雨量

输入您在第8:9个月的降雨量

输入您在第9个月的降雨量:9

您检查的条件是错误的,因为您有未初始化的doubles数组,并且您检查rainFall[]内的值是否大于0,而它们可以具有double可以具有的任何值。只需将while条件更改为(i < 12),就可以随心所欲地工作。

只需将while循环替换为

int main() { 
double rainFall[12]; 
int i = 0
while(i<12){
cout << "Enter your rainfaill in incehs for month #" << i + 1 << ": " ; 
cin >> rainFall[i]; 
i++;
}
} 

对double的额外检查是不必要的,因为double可以是负数。如果您希望使用<0语句,我建议使用throwcatch语句。这里的文档很好https://www.w3schools.com/cpp/cpp_exceptions.asp