代码如下,求大神帮忙解释下结果,            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;

解决方案 »

  1.   

    do是先执行循环里的代码,再比较,
    while是先比较,再执行循环里的代码对应你上面的代码就是
    do先执行循环里代码,再++i,最后i与10比较;
    而while,是先++i,再i与10比较,最后执行循环里的代码
    所以do要多执行一次
      

  2.   

     sum2 += 1;
    Console.WriteLine(sum2+","+i);//输出他们的值自己看一下就明白了
      

  3.   

    因为do...while会先do再判断条件是否成立,比while多执行一次。
      

  4.   

    do...while 先do在while(先判断条件)while先判断条件,所以do...while 比while多执行一次
      

  5.   

        do
                {
                   9;
                } while (9< 10);//继续
        do
                {
                    10;
                } while (10< 10);//跳出.
    结果是10.