关于while和do while循环的问题!求答案
代码如下,求大神帮忙解释下结果,
int sum2 = 0;
int i = 0;
do
{
sum2 += 1;
} while (++i < 10);
Console.WriteLine("Sum2={0}", sum2);
sum2=10,求原因啊do while循环为什么是10
如果相同的代码用while循环是9,这我知道,++i最大是9,i=0-8;++i=1-9 因此while循环是sum是9;
------解决方案--------------------do是先执行循环里的代码,再比较,
while是先比较,再执行循环里的代码
对应你上面的代码就是
do先执行循环里代码,再++i,最后i与10比较;
而while,是先++i,再i与10比较,最后执行循环里的代码
所以do要多执行一次
------解决方案-------------------- sum2 += 1;
Console.WriteLine(sum2+","+i);//输出他们的值自己看一下就明白了
------解决方案--------------------因为do...while会先do再判断条件是否成立,比while多执行一次。
------解决方案--------------------do...while 先do在while(先判断条件)
while先判断条件,
所以do...while 比while多执行一次