| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:求各位高手找错啊 一个栈的建立与输出 一调试总是出错
只看楼主 加入收藏
麦迪依然
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-3-22
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:6 
求各位高手找错啊 一个栈的建立与输出 一调试总是出错
#include<iostream>
using namespace std;
 typedef struct SeqStack
 {
     int *elem[10];
     int top;
 }*s;
void InitStack(SeqStack *s)
 {
s->elem[10]=new int[10];
if(s->elem[10]=NULL)
{cout<<"内存不足!\n";
exit(1);}
 s->top=-1;
}

 int push(SeqStack *s,int e)
 {if(s->top!=9)
 {s->top++;
 *s->elem[s->top]=e;
 return true;
 }
 return false;
 }
int pop(SeqStack *s,int&e)
{if(s->top!=-1)
{e = *s->elem[s->top];
s->top--;
return true;
}
return false;
}

int main()
{SeqStack s;
InitStack(&s);
int i,e;
cout<<"现在是元素入栈(栈中最多只能存10个元素): \n";
for(i=1;i<=10;i++)
{cout<<"输入元素为:\n";
cin>>e;
push(&s,e);
}
cout<<endl;
cout<<"现在是元素出栈:\n";
for(i=1;i<=10;i++)
{pop(&s,e);
cout<<e<<"\t";}
return 0;
}


求找错  为什么一调试就会出错呢?死活找不着原因呀,求高位高手帮帮忙
搜索更多相关主题的帖子: top void include return false 
2012-04-23 21:34
zrt492998950
Rank: 1
来 自:十堰
等 级:新手上路
帖 子:2
专家分:4
注 册:2011-5-11
收藏
得分:4 
#include<iostream>
using namespace std;
struct SeqStack
{
    int elem[10];
    int top;
};                                    //既然后面用SeqStack定义结构体变量为什么还要用typedef呢
void InitStack(SeqStack *s)
{
//    s->elem[10]=new int[10];
//    if(s->elem[10]=NULL)
//  {
//        cout<<"内存不足!\n";
//     exit(1);}
    s->top=-1;
}

int push(SeqStack *s,int e)
{
    if(s->top!=9)
    {
        s->top++;
        s->elem[s->top]=e;
        return true;
    }
    return false;
}
int pop(SeqStack *s,int&e)
{
    if(s->top!=-1)
    {
        e = s->elem[s->top];
        s->top--;
        return true;
    }
    return false;
}

int main()
{
    SeqStack s;
    InitStack(&s);
    int i,e;
    cout<<"现在是元素入栈(栈中最多只能存10个元素): \n";
    for(i=1;i<=10;i++)
    {
        cout<<"输入元素为:\n";
        cin>>e;
        push(&s,e);
    }
    cout<<endl;
    cout<<"现在是元素出栈:\n";
    for(i=1;i<=10;i++)
    {
        pop(&s,e);
        cout<<e<<"\t";
    }
    return 0;
}
2012-04-23 22:57
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:4 
s->elem[10]


if(s->elem[10]=NULL)
2012-04-23 23:01
麦迪依然
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-3-22
收藏
得分:0 
谢谢大家  真心谢谢你们
2012-04-23 23:07
麦迪依然
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-3-22
收藏
得分:0 
为啥语句前加上//就运行正常了呢?高手明示啊
谢谢
2012-04-23 23:22
麦迪依然
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-3-22
收藏
得分:0 
求文字指教啊  我写的这个哪里出现问题了?
2012-04-24 15:44
麦迪依然
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-3-22
收藏
得分:0 
回复 2楼 zrt492998950
为啥把结构体中的*去掉并且 语句前加了注释号就运行正确了呢?求您指教啊
2012-04-24 15:46
快速回复:求各位高手找错啊 一个栈的建立与输出 一调试总是出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.108496 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved