c中声明但未初始化的int变量的值

Value of declared but uninitialized int variable in c

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

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

但是当我尝试这样做时:

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

它打印了:

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

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

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

C 对于对象的初始值一直非常明确。如果是全局的或静态的,它们将被归零。如果是自动,则值为 不确定