| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 343 人关注过本帖
标题:链栈异常
只看楼主 加入收藏
cwl168
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2012-12-14
结帖率:8.33%
收藏
已结贴  问题点数:20 回复次数:3 
链栈异常
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct Node
{
     int data;
     struct Node * next;
}Node;
typedef struct Stack
{
    Node * top;
    Node * base;
}Stack;
void Inti(Stack *s)
{
   s->top=(Node *)malloc(sizeof(Node));
   s->base=s->top;

   s->top->next=NULL;//这里必须是s->top->next=NULL;
   printf("Inti Success!\n");

}
void Push(Stack *s,int e)
{
      Node *p=(Node*)malloc(sizeof(Node));
      p->data=e;p->next=s->top->next;
      s->top=p;
      printf("Push Success!\n");
}
void print(Stack *s)
{
     Node * p = s->top;
    if(s->top==s->base)
    {
         printf("The stack is empty!\n");
    }
    while (p !=s->base)
    {
        printf("%d\n", p->data);
        p =p->next;
    }
    printf("\n");
    return;
}

int main()
{   
     Stack s;
     //s=(Stack *)malloc(sizeof(Stack));
     Inti(&s);
     Push(&s,1);
     Push(&s,2);
     Push(&s,3);
     Push(&s,4);
     Push(&s,5);
     print(&s);
     return 0;
}
搜索更多相关主题的帖子: include void next 
2013-01-14 20:46
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
收藏
得分:10 
好好学习啦,我回家了,没网了,,祝你好运,有机会回家了一起学习啦

同学习......同进步....你帮我......我帮你.....上善若水.....
2013-01-14 22:17
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct Node
{
    int data;
    struct Node * next;
}Node;
typedef struct Stack
{
    Node * top;
    Node * base;
}Stack;
void Inti(Stack *s)
{
    s->top=(Node *)malloc(sizeof(Node));
    s->base=s->top;

    s->top->next=NULL;
    printf("Inti Success!\n");

}
void Push(Stack *s,int e)
{
    Node *p=(Node*)malloc(sizeof(Node));
    p->data=e;
    p->next=s->top;//去掉next
    s->top=p;
    printf("Push Success!\n");
}
void print(Stack *s)
{
    Node * p = s->top;
    if(s->top==s->base)
    {
        printf("The stack is empty!\n");
    }
    while (p !=s->base)
    {
        printf("%d\n", p->data);
        p =p->next;
    }
    printf("\n");
//    return;        //没意义的语句。。。
}
int main()
{  
    Stack s;
    //s=(Stack *)malloc(sizeof(Stack));
    Inti(&s);
    Push(&s,1);
    Push(&s,2);
    Push(&s,3);
    Push(&s,4);
    Push(&s,5);
    print(&s);
    return 0;
} 


[fly]存在即是合理[/fly]
2013-01-15 09:23
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
你这个不好,没有free,再写个释放空间的Destroy函数。。。


[fly]存在即是合理[/fly]
2013-01-15 09:26
快速回复:链栈异常
数据加载中...
 
   



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

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