while先判断在执行
do while 先执行在判断
那为什么
int n = 0, m = 0;
while (n <100)
{
n++;
m += n;
}
Console.WriteLine(m);
的结果回事5050呢?
当n=100的时候不是跳出了吗?为什么还加到100了呢?
do while 先执行在判断
那为什么
int n = 0, m = 0;
while (n <100)
{
n++;
m += n;
}
Console.WriteLine(m);
的结果回事5050呢?
当n=100的时候不是跳出了吗?为什么还加到100了呢?
while (n < 100)
{
n++; // 这行之前 n 是 99 时,这行之后 n 就是 100 了。
m += n; // 如果上行的 n 是 99,此时 n 为 100。
}
Console.WriteLine(m);
循环最后一次n=99,但m+=n执行之前还有个n++。
所以当执行m+=n时,最后一次n=100。