wuyingke 发表于 2020-2-2 16:35:00

求助:C语言中int定义初始值问题

下面是我的代码, 不给i和sum赋初始值,为什么默认初始值不一样:

代码:

# include <stdio.h>

int main()
{
      int sum,i;      
      
      printf("initial value of i is:%d\n",i);
      printf("initial value of sum is:%d\n",sum);
      
      while(i<=100)
      {
                sum+=i;
                i++;
      }
      
      printf("final value of sum is:%d",sum);
      
      return 0;
      
}

运行结果 i的初始值是0,sum的初始值是1, 虽然正确计算了1+到100的,但是这个没有赋初值的默认值不太理解。

zltzlt 发表于 2020-2-2 16:37:07

应该是编译器问题。我这里试了一下,i 的初始值是 1,而 sum 的初始值是 0。

wuyingke 发表于 2020-2-2 16:58:48

zltzlt 发表于 2020-2-2 16:37
应该是编译器问题。我这里试了一下,i 的初始值是 1,而 sum 的初始值是 0。

不好意思写反了,我的运行结果也是i=1,sum=0.我的疑问是为什么初始值不一样?您的答案是说这个是编译器使 sum和i初始值不一样?

Aseeker 发表于 2020-2-2 19:41:41

不同编程语言默认值不同
在 visual c++2010 中 该题 若sum,i 不赋予初值,则会报错

chxchxkkk 发表于 2020-2-3 12:46:04

不赋初始值,变量值应该是个随机大数
页: [1]
查看完整版本: 求助:C语言中int定义初始值问题