注册 登录
编程论坛 数据结构与算法

【求助】错误在哪儿

October岩 发布于 2013-01-25 10:36, 476 次点击
#include<stdio.h>                       /*头文件*/
#define MAX 100                         /*栈的大小*/
typedef struct                          /*===栈的定义===*/
{
   char data[MAX];
   int top;
}SqStack;

int InitStack_sq(SqStack S)           /*===栈的初始化===*/
{  
   S.top=-1;
   return 0;
}

int StackEmpty_sq(SqStack S)           /*===判断栈空===*/
{
   if(-1==S.top) return 1;
   return 0;
}
int StackFull_sq(SqStack S)            /*===判断栈满===*/
{
  if(MAX-1==S.top)
  return 1;
  return 0;
}
int StackLength_sq(SqStack S)          /*===栈的长度===*/
{
  return S.top+1;
}

int Push_sq(SqStack S,char x)        /*===元素进栈===入口参数*/
{  if(StackFull_sq(S))
   return -1;                         /*栈满,返回错误标志*/
   S.top=S.top+1;                              /*  栈顶指针加1  */
   S.data[S.top]=x;             /* e成为新的栈顶  */
   return 0;                          /*  压栈成功    */
}
int Pop_sq(SqStack S,char y)         /*===元素出栈===*/
{  if (StackEmpty_sq (S))
   return -1;                         /*栈空,返回错误标志*/   
   y=S.data[S.top];
   S.top=S.top-1 ;
   return 0;
}

void main()
{SqStack M;
 char m='c';
 int Push_sq(SqStack S,char x);
 Push_sq(M,m);
 printf("%s",M.data[MAX]);
 getch();
}
6 回复
#2
October岩2013-01-25 10:46
没分就没人回
#3
不玩虚的2013-01-28 13:20
帅哥那有问题?
#4
小习小习2013-01-28 20:27
楼主详细点描述下问题,别人好帮你
#5
ChamYu2013-01-29 19:02
好像没有构造空栈的函数?
#6
爱闹的娃2013-01-30 14:19
好久都没有回帖了....今儿来回一次
void main()
{SqStack M;
char m='c';
int Push_sq(SqStack S,char x);//这里来次定义??函数在调用前已经声明,在这里就直接调用。。将它去掉
Push_sq(M,m);
printf("%s",M.data[MAX]);
getch();
}
#7
一毛钱的诱惑2013-01-30 19:41
编程新手路过
1