奔跑的小鸟11 发表于 2020-11-2 17:09:15

为啥这个结果是5051

#include<stdio.h>
main()
{
        int a=1,sum;
        while(a<=100)
        {
                sum=sum+a;
                a++;
        }
        printf("%d\n",sum);
        return 0;
}

昨非 发表于 2020-11-2 17:13:50

给sum赋个初值就好了
#include<stdio.h>
int main()
{
        int a = 1, sum=0;
        while (a <= 100)
        {
                sum = sum + a;
                a++;
        }
        printf("%d\n", sum);
        return 0;
}

奔跑的小鸟11 发表于 2020-11-2 17:16:43

昨非 发表于 2020-11-2 17:13
给sum赋个初值就好了

那如果不赋初始值的话,sum的初始值是多少啊

昨非 发表于 2020-11-2 17:17:41

#include<stdio.h>
main()
{
      int a=1,sum;
    //while(a<=100)
    // {
    //      sum=sum+a;
    //      a++;
    //}
      printf("%d\n",sum);
      return 0;
}

注释掉一部分然后打印一下你会发现
sum'的初值也是1,造成出错

昨非 发表于 2020-11-2 17:18:12

奔跑的小鸟11 发表于 2020-11-2 17:16
那如果不赋初始值的话,sum的初始值是多少啊

1

奔跑的小鸟11 发表于 2020-11-2 17:18:39

昨非 发表于 2020-11-2 17:17
注释掉一部分然后打印一下你会发现
sum'的初值也是1,造成出错

好的 谢谢大佬
页: [1]
查看完整版本: 为啥这个结果是5051