You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询C++中未初始化变量amount打印出异常值650的原因

为什么打印未初始化的int变量会得到650?

你的代码如下:

# include <iostream>

int main(){
    int value = 0, amount, set = 0;
    std::cout << amount << std::endl;
}

出现650这个异常值的核心原因是:局部变量amount未被初始化。

在C++的规则里,函数内部定义的局部变量(比如main里的amount),如果没有显式赋值,它的初始值是未定义的——本质上是该变量占用的内存地址中,之前残留的随机垃圾数据。你这次运行得到650只是巧合,换个运行环境、重新编译或者再次执行程序,输出的数值大概率会不一样。

要解决这个问题,只需要在使用amount前给它赋一个确定的值,比如:

int amount = 0;

内容的提问来源于stack exchange,提问作者Roshan R. Prasad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 16:13:12