求和结果错误,是编译器问题吗?

四十不惑而已 2019-05-17 07:36:09
#include<iostream> using namespace std; int main() { int sum; for(int i=1;i<=100;i++) { sum=0; sum=sum+i; } cout << sum; return 0; } 在电脑和手机上编译结果都是100 不知道哪里出问题了?
...全文
45 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CaptainXue 2019-05-18
  • 打赏
  • 举报
回复
慢慢来,对于刚学的学者一般会遇到一些问题,我的一些文章你可以看看,对你会有所帮助的
四十不惑而已 2019-05-18
  • 打赏
  • 举报
回复
引用 2 楼 袁君元的回复:
对,就是sum=0应该写在循环体外,不然每次循环都执行sum=0,之前计算的就没有了,只有最后一个100才会加上去,所以结果为100。其实当程序更复杂的时候,很容易出现这个问题,就是变量初始化的位置不对,这个就需要我们的逻辑思维要清晰,可以看看这篇文章,https://blog.csdn.net/weixin_43956598/article/details/90049508
谢谢,刚学,基础不牢固。
CaptainXue 2019-05-17
  • 打赏
  • 举报
回复
对,就是sum=0应该写在循环体外,不然每次循环都执行sum=0,之前计算的就没有了,只有最后一个100才会加上去,所以结果为100。其实当程序更复杂的时候,很容易出现这个问题,就是变量初始化的位置不对,这个就需要我们的逻辑思维要清晰,可以看看这篇文章,https://blog.csdn.net/weixin_43956598/article/details/90049508
四十不惑而已 2019-05-17
  • 打赏
  • 举报
回复
已解决,sum=0要放在循环外面

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧