读书人

关于while和do while循环的有关问题!

发布时间: 2013-03-13 10:56:58 作者: rapoo

关于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多执行一次

读书人网 >C#

热点推荐