Chi*_*nna 0 c linux local-variables
根据我的知识,局部变量是未初始化的,即它包含垃圾值.但是下面的程序给出0(零)作为输出.
main()
{
int i;
printf("%d\n",i);
}
Run Code Online (Sandbox Code Playgroud)
当我在程序之上运行它总是给出0.我知道0也可以是垃圾值,但每次我得到零作为输出.任何人都可以知道它的原因吗?
垃圾值意味着发生在该内存位置的任何事情.在您的情况下,值恰好为零.在另一台机器中可能不是这种情况.
请注意,为了调试(例如0xA5A5),某些编译器会使用一些魔术值填充未初始化的变量,但它通常也不为零.