请问C++中局部变量默认值怎么是0啊,不是随机值吗

问题遇到的现象和发生背景

请教一下,记得原来好像一直说的是,c++语言中的局部变量,如果声明时候不初始化,那么就会是随机值,但我运行的结果怎么初始值一直是0啊?

问题相关代码,请勿粘贴截图
#include<iostream>
using namespace std;
int main(){
    int i;
    cout << i << endl;
    return 0;
} 

运行结果及报错内容

img

这个值就是随机的,在我的电脑上会是-858993460,题主可以了解一下局部变量是如何分配的,
局部变量存储在栈上,这个值只跟运行的时候栈指向的地址里的内容有关,这个内容是随机的
如有帮助,请采纳,谢谢

你这里不算是局部变量了,这是在主函数内定义的,只有程序结束了i才会失去他的作用范围

这个看软件吧

这个局部变量是随机的,有可能是0,也有可能是任何数
只有定义全局变量或将局部变量赋值为0才可以