C语言中sum=sum+(i+=2)怎么理解?
我以为是k=j+i;i=i+2;用了个循环试了下,结果发现不对啊.#include"stdio.h"intmain(void){inti,sum=0;for(i=1;i<...
我以为是k = j+i;i = i+2;用了个循环试了下,结果发现不对啊.
#include "stdio.h"
int main(void)
{
int i,sum = 0;
for(i=1;i<=10;)
{
sum = sum+(i+=2);
}
printf("%d\n",sum);
return 0;
}
结果是35.怎么算出来的啊 展开
#include "stdio.h"
int main(void)
{
int i,sum = 0;
for(i=1;i<=10;)
{
sum = sum+(i+=2);
}
printf("%d\n",sum);
return 0;
}
结果是35.怎么算出来的啊 展开
4个回答
展开全部
先是i=i+2
再算sum=sum+i;
当i=1时 sum=0+3=3 i=3
当i=3时 sum=3+5=8 i=5
当i=5时 sum=8+7=15 i=7
当i=7时 sum=15+9=26 i=9
当i=9时 sum=26+9=35 因为先算i=i+2; i=9+2=11>10所以 i=9
再算sum=sum+i;
当i=1时 sum=0+3=3 i=3
当i=3时 sum=3+5=8 i=5
当i=5时 sum=8+7=15 i=7
当i=7时 sum=15+9=26 i=9
当i=9时 sum=26+9=35 因为先算i=i+2; i=9+2=11>10所以 i=9
追问
错了,如果是这么算的话 ,你说的i = 7时这步算错了, 15+9 = 24; 接下来24+9=33;而不是35
追答
你自己可以测试下 就知道我的有没有错
#include "stdio.h"
int main(void)
{
int i,sum = 0;
for(i=1;i<=10;)
{
printf("%d\n",i);
sum = sum+(i+=2);
printf("%d %d",sum,i);
}
printf("%d\n",sum);
return 0;
}
这样就知道我又没有错 我没有运行 不知道结果
展开全部
整个程序是求100以内的偶数之和啊。+2的意思就是两个偶数之间就是相差2,前一个偶数不就是等于下一个偶数+2嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i+=n的意思就是i=i+n,所以i+=2就是i=i+2,你带到程序里就一目了然了,呵呵 每个C++参考书里都有讲解这部分,你可以翻翻书
追问
这个我知道 我就是搞不懂那个循环是怎么执行的 怎么得出35这个结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i+=2,的意思就是i=i+2,接下来的应该能看懂了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询