当我尝试向朋友解释一些简单的代码时,会发生一些奇怪的事情:
#include <stdio.h>
int main()
{
int x;
printf("%x\n",x);
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了数百万次,x的最后12位总是变成0xff0.我已经解除了代码,但仍然无法弄清楚这里发生了什么
我的操作系统是ubuntu10.10,编译器是gcc4.7.2
读取未初始化的变量是未定义的行为.所以你什么都不保证.
这包括始终为零,始终保持平衡,始终不同,并重新格式化您的硬盘驱动器.