灯火阑珊201 发表于 2022-10-8 15:12:41

求助,int定义变量问题

我的代码如下
#include<stdio.h>
int main()
{
        int i,sum;
        for(i = 0;i < 5;i++)
        {
                sum+=i;
        }
        printf("%d",sum);
}
我想问的是int 定义变量之后,如果不对变量赋值,那默认值是多少?
为啥我把sum赋值为0之后,打印的sum的值少了1
代码如下
#include<stdio.h>
int main()
{
        int i,sum=0;
        for(i = 0;i < 5;i++)
        {
                sum+=i;
        }
        printf("%d",sum);
}


上面的结果是11,下面那个结果是10

howzyao 发表于 2022-10-8 15:28:38

第一个,有错误,声明变量sum时,最好养成初始化的习惯,否则,后一句sum+=
它的概念是在sum中储存的随机值的基础
上+一个i,这是有害的。
第二个,很好,符合预期。

jackz007 发表于 2022-10-8 15:31:11

         所有的变量必须先定义、赋值,然后才能访问,这是写代码必须遵守的准则,下面的代码才是对的 , 0 + 1 + 2 + 3 + 4 = 10 无疑是正确的。
页: [1]
查看完整版本: 求助,int定义变量问题