问答详情
源自:4-3 C#算法——求和

为什么跑出来是负的?

int x = 1;

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

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

            {

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

                    sum += x;

                x++;

            }

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


提问者:活着就好了___ 2018-06-15 20:13

个回答

  • 幕布斯1115476
    2018-06-16 10:34:20
    已采纳

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

  • 一颗路边的小石头
    2018-06-30 16:09:08

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