C++编程问题,为什么总显示:使用了未初始化的局部变量

voidThird_question_3_3(){cout<<"请依次输入5个数字"<<endl;intch[5];intT;stack<int>s,ss;gototo_... void Third_question_3_3(){
cout << "请依次输入5个数字" << endl;
int ch[5];
int T;
stack<int> s, ss;
goto to_T;
for (int i = 0; i < 5; i++){
cin >> ch[i];
}
for (int i = 0; i < 5; i++){
s.push(ch[i]);
}// 初始化栈S;
int temp_t = s.top();
for (int a = 0; a < 4; a++)
{
for (int j = 0; j <4; j++)
{
ss.push(s.top());
s.pop();
}
T = s.top();
to_T: s.push(T);
s.pop();//此时栈S已经为空;
while (!ss.empty())
{
if (ss.top() == temp_t)//寻找到T元素插入的位置;
{
s.push(temp_t);
ss.pop();
goto to_T;//跳转,将T元素插入栈S;
}
s.push(ss.top());
ss.pop();
}
}//实现了栈S的逆置;
for (int l = 0; l < 5; l++)
{
cout << s.top() << endl;
s.pop();
}
system("PAUSE");
}
请教,编译器提示:使用了未初始化的局部变量“a”,"temp_t"
这是为什么呢?我明明已经赋初值int a=0了啊?temp_t只是一个中间变量啊?
展开
 我来答
百度网友1680984
2015-03-30 · TA获得超过414个赞
知道小有建树答主
回答量:968
采纳率:0%
帮助的人:455万
展开全部
直接goto的话就是未初始化的吧,未执行初始化代码
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuhuoqilin
2015-03-30 · 超过14用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:22.2万
展开全部
建议代码里面尽量不要使用goto语句,这样会使得程序的逻辑性变差
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吐香滴滴化冰G
2015-03-29 · TA获得超过138个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:134万
展开全部
跟你的goto语句有关系吧,goto删了看看
(追加,洗洗睡,明天弄吧)
更多追问追答
追问
删掉了goto语句后的确编译器没有报错,但是程序运行的结果不对啊
追答
stack s, ss;
goto to_T;
for (int i = 0; i > ch[i];
},这里的goto是为了什么
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式