鱼C论坛

 找回密码
 立即注册
查看: 3105|回复: 0

关于链栈不清楚的问题

[复制链接]
发表于 2014-11-27 14:45:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
学习了链栈,可是下面代码总是编译不过,大家能帮忙看看哪错了吗

#include <stdio.h>
#include <malloc.h>

typedef int datatype;

typedef struct snode
{
datatype data;
struct snode *next;
}StackNode,*LinkStack;
LinkStack top;

LinkStack InitStack()
{
LinkStack s;
s = (LinkStack)malloc(sizeof(LinkStack));
top = NULL;
return s;
}

int EmptyStack(LinkStack p)
{
if(top==NULL)
return 1;
else
return 0;
}


void OutputStack(LinkStack p)
{
LinkStack q=NULL;
q=top;
while(q!=NULL)
{
printf("%3d",q->data);
q=q->next;
}
printf("\n");
}

LinkStack PushStack(LinkStack p,datatype x)
{
LinkStack q;
q=(LinkStack )malloc(sizeof(LinkStack));
q->data = x;
q->next = top;
top = q;
return top;
}

LinkStack PopStack(LinkStack p,datatype *x)
{
LinkStack q;
if(top==NULL)
return NULL;
else
{
*x = top->data;
q=top;
top=top->next;
free(q);
return top;
}
}


main()
{
LinkStack p=NULL;
int x;
InitStack(p);
OutputStack(p);
printf("请输入你想要入栈的元素");
while(1)
{
int x;
scanf("%d",&x);
if(x==-1) break;
PushStack(p,x);
}
OutputStack(p);
while (!EmptyStack(p))
{
        PopStack(p,&x);
        printf("%d ",x);
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-18 17:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表