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 对于对象的初始值一直非常明确。如果是全局的或静态的,它们将被归零。如果是自动,则值为 不确定。
我是 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 对于对象的初始值一直非常明确。如果是全局的或静态的,它们将被归零。如果是自动,则值为 不确定。