_死水_
2016-08-25 21:13
第一和第二个循环中i++都在sum+=i*flag前面,更上面不是说了i=1了吗,那i++岂不是从i=2开始???
你可以理解成由左至右进行计算的方式,i++就是先进行i的计算,已经带入了计算式,然后才进行的+1,开始实行i+1的计算,就比如说i=2;printf(“%d\n”,i++);printf(“%d\n”,i);此时输出的就是先进行i的计算,直接输出i的值为2,然后i进行了下一步+1,则此时i等于2+1=3了就,所以输出的是
2
3
i++ :先在i所在的表达式中使用i的当前值,后让i加1
++i :让i先加1,然后在i所在的表达式中使用i的新值
在第一个和第二个循环中,第一次循环时i=1,执行完程序i变为2
C语言入门
926207 学习 · 20797 问题
相似问题