这个是a已经+1,再进if运算
但这为什么不-1,再进行if运算,我真的搞不懂了!
第一题你理解的就不到位,导致第二题迷惑了。
第一题的if和break是个迷惑项目,其实重点不是break,而是break后面跟了个continue,所以不管是否执行了break,b+=a永远不会执行到,所以b永远是0不会变
第二题,有2个--,一个在for里面,一个在print里面
这里就涉及执行顺序这个基本概念,不理解执行顺序你就根本没法敲代码
for(a;b;c)这个循环中,表达式a只执行一次,b在每次循环之前执行,c在每次循环之后执行,这个一定要记牢。
在这里就不存在先取值还是先赋值的问题,因为c就是在赋值,并不取值,所以--y和y--都行,等价的。
然后,print包在if里面,所以肯定是先执行判断,后执行--y
最后,print要打印y的值,如果是y--,那么先打印y值再--,如果是--y,那么先--再打印y值