首页 > 解决方案 > c中已声明但未初始化的int变量的值

问题描述

我是 C 新手,使用 DevC++ 作为我的 IDE。

我了解到,如果变量已声明但未分配任何值,则它们将使用随机值初始化(静态变量和全局变量除外,它们初始化为 0)。

但是当我尝试这个时:

int i, j, k;             
printf("%d %d %d", i, j, k);

它打印:

i 总是 0;j 的任何大随机整数(总是不同的);k 的大随机整数(始终相同)。

这是运行上述代码 5 次的输出:0 13308816 32764 0 12391312 32764 0 11408272 32764 0 11015056 32764 0 7541648 32764

但我认为这些都应该打印随机值(垃圾值),每次都不同(与 j 相同)。

标签: cint

解决方案


C 语言一直对对象的初始值非常具体。如果是全局的或静态的,它们将被归零。如果是 auto,则值为 indeterminate


推荐阅读