为了账号安全,请及时绑定邮箱和手机立即绑定

为什么跑出来是负的?

int x = 1;

            int sum = 0;//和,初始化为0

            while (x <= 100000)//循环条件

            {

                if (x % 2 != 0)//筛选条件

                    sum += x;

                x++;

            }

            Console.Write("1-100000奇数的和:" + sum);


正在回答

2 回答

因为sum的值已经超过int类型的最大值!数据溢出,详情可以去百度搜索各类型值的范围!

2 回复 有任何疑惑可以回复我~
#1

活着就好了___ 提问者

谢了
2018-06-16 回复 有任何疑惑可以回复我~

楼上说的很对,计算太大导致数据溢出,int是32位整数,你可以在声明的声明64位的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么跑出来是负的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信