慕田峪1011859
2019-10-30 00:32
sum+=i 不应该等于sum=sum+i 吗? 为什么是sum=sum+1+2+4.... i=1+2+4.....?
你这个问题描述的我有点不太清楚,不过我尝试着回答一下,当做你没有弄清楚变量和循环这个问题上来,sum和i都是变量,随着循环在不停的累加,所以数是不断变化的,sum+=i;的确就是sum=sum+i;第一次循环i=0,sum=0;但是i++后i变成了1,sum+=i后,也就是sum=sum+i(sum=0+1),sum也变成了1,第二次循环,i再次累加,变成了2,此时sum再次执行了sum+=i,所以sum变成3,也就是sum=sum+i(sum=1+2),但是在每次循环的时候多出一个if判断,过滤了不符合条件的数,也就是i能被3整除的数,多次循环后实际就形成了sum = 1+2+4...的效果
分清等于和赋值之间的区别就好理解了
当你做了一次运算的时候sum就改变了,然后根据循环继续累积改变
C语言入门
926206 学习 · 20797 问题
相似问题