在循环中i+2和i+=2的区别?
比如在for循环里for(i=1;i<n;i+2) 和 for(i=1;i<n;i+=2) 不一样是在原有的基础上+2吗? 本帖最后由 小亦003 于 2021-12-25 21:07 编辑
for(i=1;i<n;i+2) 中的是 i + 2 = 1 + 2=3
for(i=1;i<n;i+=2)中的 i +=2 就相当于 i = i + 2,这里的条件是随 i 的增加而增加的,而不是在原有的基础上+2。 本帖最后由 jackz007 于 2021-12-25 21:10 编辑
for(i=1;i<n;i+2)
这个代码作为循环变量的 i 在循环中得不到任何改变,i < n 的循环条件永远成立,循环没有可预期的终点,是典型的死循环,这种写法是错误的。
for(i=1 ; i<n ; i+= 2)
i += 2 是 i = i + 2 的简写形式,在循环中,循环变量 i 的值会逐渐趋近于 n,循环带有可以预期的终点,这种写法是正确的。 听3楼大佬的{:10_257:} jackz007 发表于 2021-12-25 21:06
这个代码作为循环变量的 i 在循环中得不到任何改变,i < n 的循环条件永远成立,循环没有可预期的 ...
如果i+2的话i就一直是3是吗? BlackWhite_idea 发表于 2021-12-25 21:22
如果i+2的话i就一直是3是吗?
是的,i + 2 不带赋值效果,要赋值,必须要带等号。 jackz007 发表于 2021-12-25 21:55
是的,i + 2 不带赋值效果,要赋值,必须要带等号。
我悟了,谢谢大佬!!!{:10_254:}
页:
[1]