C语言,使用了未初始化的局部变量

求大神帮我看看该怎么改,谢谢啦!... 求大神帮我看看该怎么改,谢谢啦! 展开
 我来答
风若远去何人留
推荐于2017-09-20 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

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

局部变量定义时的形式为
TYPE var = init_value;
其含义为定义一个类型为TYPE,名字为var的局部变量,并初始化为init_value。
其中,=init_value部分可以省略。此时,var的初始值将是一个随机值,由编译器或运行环境决定。
如果以
TYPE var;
定义了一个未知初始值的var,在赋值前去引用其值,比如进行打印,参与计算等,这时var的值就是不可确定的,从某种意义上来说,这时输出什么值对程序的结果并没有意义。
所以如果出现了这种情况,编译器会提出警告或报错,提醒这样一个不确定因素的存在。
对于大多数编译器来说,只是报警告,而不会报错误。
小无谈旅游百科
高粉答主

2020-05-06 · 每个回答都超有意思的
知道小有建树答主
回答量:824
采纳率:98%
帮助的人:19.2万
展开全部

显然,I和y都是局部的变量。I的初值是0,但是y是未初始化的局部变量。

如:

IntI=0;Inty;

(;我< y;我+ +){

//……

扩展资料:

在c++中初始化的全局变量在编译时存储在数据段中,而未初始化的全局变量则存储在BSS段中。这样做的原因是data部分中的变量需要分配空间来将它们的值存储在编译后的文件中,

不初始化保存变量(或初始化为0的静态变量或全局变量),其默认值为0。没有必要在data部分存储其值都为0的变量。但是,BSS部分只保留给未初始化的全局变量和局部静态变量。

但是,这些变量在程序执行时占用内存空间,因此可执行程序必须记录这些变量在BSS段中占用多少空间。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
关注745
推荐于2017-10-14 · TA获得超过434个赞
知道小有建树答主
回答量:173
采纳率:80%
帮助的人:134万
展开全部
你没有对变量e,f赋值;而又选择输出e,f,当然出错。

两种修改方法
1删除语句int e,f;适用于你不需要e,f
2添加语句scanf("%d,%d",&e,&f);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lindrl
2015-04-05 · TA获得超过114个赞
知道答主
回答量:148
采纳率:0%
帮助的人:88.8万
展开全部
你把 int e,f 改为 int e=0,f=0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一都编程
2020-10-29
知道答主
回答量:19
采纳率:0%
帮助的人:9711
展开全部

C#变量的定义、变量的初始化和赋值,及var类型推断定义变量,全局和局部变量的使用等。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式