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

为什么跑出来是负的?

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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号