例如,当我的代码如下所示时,对于 a = 0,我得到 -1301113336,对于 a = 1 到 99,得到 -1266657529。
#include <stdio.h>
int main()
{
int a;
for (a = 0; a < 100; a++)
{
printf("\n%i");
}
}
Run Code Online (Sandbox Code Playgroud)
当行为因编译器而异时,这是某种未定义的情况吗?如果我使用 gcc,这些数字来自哪里,为什么每次迭代都不会改变?