为什么这种while循环条件仍然成立?

时间:2020-03-03 05:04:23

标签: c++ while-loop

这里的错误是数字永不停止增加(0->无限)。一旦totalCareTime达到25,为什么循环不会停止?

   int totalCareTime = 0;

   while (totalCareTime <= 25 || interrupted == false)
   {
       ++totalCareTime;
       cout << totalCareTime << endl;


       if (time == time + emergencySam || time == time + emergencySid)
       {
           interrupted = true;
       }

   }

1 个答案:

答案 0 :(得分:4)

您使用||,因此只要任一条件为真,循环就会继续。如果interrupted停留在false(除非emergencySamemergencySid的值为0,否则情况总是如此;不清楚如何设置它们或是否设置它们可以更改),循环将永远持续下去。如果您需要同时满足两个条件才能使循环继续进行,请更改为&&