在循环体和判断条件相同情况下,while循环和do...while循环次数可能相同,也可能不同。
1、while循环形式为:
while(expr)
{
//循环体
}
当expr为真时循环, 为假时退出。
2、do...while循环形式为
do
{
//循环体
}while(expr);
同样当expr为真时循环, 为假时退出。
3、do ... while和while的区别在于,while是先判断 再循环, 而do while则是先循环再判断。
所以do...while至少会执行一次,而while则有可能一次都不执行。
于是对于while循环来说,如果第一次判断后为真,循环可执行,此种情况下,while和do...while执行次数相同。
如:
int a;
a=0;
while(a<10){ a++;}
a=0;
do{ a++;} while (a<10);
二者循环次数均为10次。
而如果第一次判断的结果就是假,那么while循环执行0次,而do...while会执行一次,甚至更多,因为有可能执行循环体后判断为真。如:
int a=0;
while(a>0) a++;
这个循环不会执行,也就是执行0次。
而如果写成do...while
int a=0;
do {a++;}while(a>0);
这个循环要执行到a溢出才可以退出, 近乎死循环了。
既然条件相同,那为何不是一样呢,,,,,如果不一样,就是条件不同了。
~