while先判断在执行
do while 先执行在判断
那为什么
            int n = 0, m = 0;
            while (n <100)
            {
                n++;
                m += n;
            }
            Console.WriteLine(m);
的结果回事5050呢?
当n=100的时候不是跳出了吗?为什么还加到100了呢?

解决方案 »

  1.   

                int n = 0, m = 0; 
                while (n < 100) 
                { 
                    n++;    // 这行之前 n 是 99 时,这行之后 n 就是 100 了。
                    m += n; // 如果上行的 n 是 99,此时 n 为 100。
                } 
                Console.WriteLine(m); 
      

  2.   

    因为你第一次循环的时候n就等于1了。
    循环最后一次n=99,但m+=n执行之前还有个n++。
    所以当执行m+=n时,最后一次n=100。