C++中如果一个int型变量没有给具体值,为什么用cout输出时会是一个确定的数?

#include<iostream>usingnamespacestd;intmain(){intji;cout<<ji<<endl;inthu;cout<<hu<<en... #include <iostream>
using namespace std;
int main()
{
int ji;
cout<<ji<<endl;
int hu;
cout<<hu<<endl;
return 0;
}
比如这个简单的代码,两次输出结果-858993460。这是怎么回事?
展开
 我来答
yzzc1989
推荐于2017-10-05 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:157万
展开全部
C/C++的变量声明时,多数是可初始化也可不初始化的;而其中有些变量不初始化时系统会自动初始化为0或NULL,具体可能还会因编译器的不同而有差异。通常情况下,int、double、char等类型的变量不初始时其值是不定的,而数组、字串则可能是0或NULL或许也是不定的。所以你遇到的这种情况一点都不奇怪。正因为如此,C/C++规定变量都得先定义(初始化)再使用。这里说的“不定”或“随机”并不是指你运行一次就有不同的结果,而是指在这台机器上是这个结果而在另一台机器上是另一结果;或是指这次开机运行是这个结果再次开机运行可能就是另一种结果……
ml1badboy
2012-09-06 · TA获得超过979个赞
知道小有建树答主
回答量:927
采纳率:100%
帮助的人:428万
展开全部
指定物理地址无初始化状态 按照原来的数字进行输出
白话就是 原来你占的位置有字 你占了之后没有进行修改 原来的数字没有变...输出时自然会有东西...
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小北娃
2012-09-06 · TA获得超过105个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:111万
展开全部
那是个随机值,该随机值实际就是这个变量所在的内存的内容。在c&c++中使用变量时必须赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小忆9281
2012-09-15
知道答主
回答量:6
采纳率:0%
帮助的人:9266
展开全部
乱码而已,这是随机产生的,因为你定义的变量没有进行赋值操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanshaoshi
2012-09-06
知道答主
回答量:1
采纳率:0%
帮助的人:1585
展开全部
如果是在函数里的话,就是一个随机值,如果在全局变量的话,就是0,我没有试过哦,全局变量会自己初始化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式