第一:看程序执行:
初值a=1,b=2
1<8 所以 b=b+a=2+1=3
a=a+2=1+2=3
①然后执行for语句中a++,a=4
4<8 所以 b=b+a=3+4=7
a=a+2=4+2=6
②然后执行for语句中a++,a=7
7<8 所以 b=b+a=7+7=14
a=a+2=7+2=9
③然后执行for语句中a++,a=10
判断10不小于8,for语句执行完。结果 10,14
第二:将for语句中a++改为++a,与上面输出结果一样。因为①②③处执行a++和执行++a
是一样的,不影响后面的判断及结果输出。
第三:个人愚见,你认为输出结果是9,14是没有理解清for语句的执行吧?而不是误区在
a++与++a。
理解一点:a++先用后加; ++a先加后用。
我觉得换成++a后,b的值有了变化,a还是不变的