求助,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 第一个,有错误,声明变量sum时,最好养成初始化的习惯,否则,后一句sum+=
它的概念是在sum中储存的随机值的基础
上+一个i,这是有害的。
第二个,很好,符合预期。 所有的变量必须先定义、赋值,然后才能访问,这是写代码必须遵守的准则,下面的代码才是对的 , 0 + 1 + 2 + 3 + 4 = 10 无疑是正确的。
页:
[1]