c++中什么叫使用了未初始化的局部变量y?

#include"iostream"usingnamespacestd;intmain(){intx,y,z,i;i=0;for(x=1;y<20;x++)for(y=1... #include"iostream"
using namespace std;
int main()
{
int x,y,z,i;
i=0;
for(x=1;y<20;x++)
for(y=1;y<94;y++)
for(z=1;z<48;z++)
{if(x*5+y*1+z*2==100)
i++;
}
cout<<i<<endl;
}
展开
 我来答
大野瘦子
高粉答主

推荐于2019-08-25 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.5万
展开全部

明显i和y都是局部变量,i初始值是0,但是y就是没有初始化的局部变量。

例如:

int main{int i = 0;

int y;

for(; i < y;i++){

//..........

}

扩展资料:

C++中被初始化全局变量在编译时保存在data段中,而没有被初始化的全局变量保存在bss段中。这样保存的理由是在data段的变量在编译生成的文件中需要分配空间存储变量值,

而没有初始化保存变量(或初始化为0的静态变量、全局变量)其默认值为0,没必要将这些值均为0的变量存储在data段中,而采用bss段只是给未初始化的全局变量和局部静态变量预留位置,bss段并没有内容。

但是在程序执行时这些变量会占用内存空间,所以可执行文件必须记录bss段中变量占用空间的大小。

悲伤的_李太白
推荐于2019-10-23 · TA获得超过2256个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

当局部变量未初始化,且在第一次赋值前引用了该变量值,那么就会报使用了未初始化的局部变量这样一个警告或者错误。

该程序中x,y,z,i均为局部变量,“i=0”首先对i变量进行了初始化,即赋值为0。接下来“for(x=1;y<20;x++)”,未对y进行初始化,赋值,就首次引用该变量,这种错误就叫做“使用了未初始化的局部变量”。

正确改法应该在i=0的时候同样对y进行初始化赋值。

扩展资料:

赋值语句用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。在算法语句中,赋值语句是最基本的语句。

在表述一个算法时,经常要引入变量,并赋给该变量一个值。

赋值运算符右侧的值由表达式生成,而表达式则由文本、常数、变量、属性、数组元素、其他表达式或函数调用的任意组合所构成。下面的示例阐释这一点。

VisualBasic

x=y+z+findResult

前面的示例将变量y中存储的值与变量z中存储的值相加,然后与调用函数findResult返回的值相加。然后,此表达式的总值将存储到变量x中。赋值语句的一般格式是:变量名=表达式 其中"="为赋值号

常见的赋值语句有以下几种形式:

(1)a = 3;{赋予变量常数值}

(2)b = a + 1;{将含有其它变量的表达式赋予变量}

(3)N = N...

参考资料:百度百科-赋值语句

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aijiangaa111
推荐于2017-09-06 · TA获得超过995个赞
知道小有建树答主
回答量:430
采纳率:87%
帮助的人:121万
展开全部
在一个函数里,例如:
int main{
int i = 0;

int y;
for(; i < y;i++){
//..........
}

明显i和y都是局部变量,i初始值是0,但是y就是没有初始化的局部变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
njflysky
2012-03-16 · TA获得超过110个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:113万
展开全部
int x,y,z,i;//y在此声明,但是未赋初值(未初始化)
for(x=1;y<20;x++)//y参与计算(比较)
改成:
for(x=1;x<20;x++)//手误型:)
int x,y=10,z,i;//…误型:)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
love寒忆
2015-10-23 · TA获得超过360个赞
知道小有建树答主
回答量:375
采纳率:0%
帮助的人:256万
展开全部
这个变量在使用之前没有被定义,你找下你的变量y是不是定义在了使用的后面,放到前面去就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式