int x = 2;
do
{
x++;
Console.WriteLine(x);
}
while (x > 2 && x <= 4); //结果是3 4 5 ,5是怎么来的,5不是不满足while的条件吗?
第一次循环的时候不需要对x的值进行判断,这时x = 2,然后x++变成了3;此时输出的3
第一次循环结束以后才对x的值进行判断,这时x = 3满足 x > 2 && x <= 4 的条件
执行第二次循环,这时x = 3 然后 x++ 变成了4,此时输出4;
第二次循环结束仍然满足条件,这时x = 4
继续第三次循环,然后进行了x++(划重点),这时x = 5了,做最后一次输出,此时输出的x是5
第三次循环结束,再判断x的值已经不满足循环的条件了,循环结束