SunForge 2022-07-18 15:01 采纳率: 100%
浏览 58
已结题

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

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

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

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

运行结果及报错内容

img

  • 写回答

4条回答 默认 最新

  • flower980323 2022-07-19 01:19
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    SunForge 2022-07-19 15:15

    感谢大佬解答,我再去学习下局部变量的分配问题。
    你用的是什么系统,用的什么编辑器、编译器啊,我尝试复现一下,,我这里还是一直为0

    回复
    flower980323 回复 SunForge 2022-07-20 01:07

    我用的VS,这个不用管,一定记得初始化就行

    回复
    SunForge 回复 flower980323 2022-07-20 14:03

    好嘞,感谢

    回复
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 8月1日
  • 已采纳回答 7月25日
  • 创建了问题 7月18日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部