假如sum不赋初始值,sum就是一个随机值,sum = sum+i; 就会是随机值加 i ,不一定都是比结果多1。
for 循环里执行顺序第一次:i = 1 , i <= z , sum = sum + i , ++ i.
第二次: i <= z , sum = sum + i , ++i.
第三次: i <= z , sum = sum + i , ++i.
。。。。。
++i改i++,你自己输出一下++i和i++最后的值就知道问题了
++i不对
你可以试试 如果你给sum不赋初值,直接输出是多少,然后再思考。
一般编译器会初始化为0,但好像有点编译器也不会做这个动作,是随机值。
所以,使用前最好做初始化。