这里的错误是数字永不停止增加(0->无限)。一旦totalCareTime达到25,为什么循环不会停止?
int totalCareTime = 0;
while (totalCareTime <= 25 || interrupted == false)
{
++totalCareTime;
cout << totalCareTime << endl;
if (time == time + emergencySam || time == time + emergencySid)
{
interrupted = true;
}
}
答案 0 :(得分:4)
您使用||
,因此只要任一条件为真,循环就会继续。如果interrupted
停留在false
(除非emergencySam
或emergencySid
的值为0
,否则情况总是如此;不清楚如何设置它们或是否设置它们可以更改),循环将永远持续下去。如果您需要同时满足两个条件才能使循环继续进行,请更改为&&
。