我的观点和杨志一样的。之前你是定义了x=0;while循环的条件是x<3,在循环内部你的所谓的自增的表达式写的是:x=x++;x=x++这句话的执行过程是这样的,对于后面的x++这个表达式,它是要先参与运算再自加。所以第一次循环后x=x++这个值的到的结果依然还是x=0,它会有一个自加的过程,但是下次循环开始的时候,x的值还是为零,因为你之前一次循环最后得到的x的值是零,所以这次循环开始又是这样的,x被赋与的值还是0,虽然你左边的那个表达式会自增,但是最后的x的值是以被赋值后的值为准,因此在x=x++;中,有半部分根本就没起到作用。所以就会一直满足循环条件,形成一个死循环。 |