简单代码.出现了点有关问题.请高手帮帮忙,
简单代码..出现了点问题...请高手帮帮忙,,,
#include <stdio.h>
#include <stdlib.h>
#define stack_init_size 100
typedef struct
{
char *top;
char *base ;
char sizestack ;
}sqstack ;
char initstack(sqstack *l)
{
l-> base=(char *)malloc(stack_init_size*sizeof(char )) ;
l-> top=l-> base;
l-> sizestack=stack_init_size;
return 1;
}
char push(sqstack *l,char e)
{
*(l-> top++)=e;
return 1 ;
}
void pop(sqstack *l)
{
--l-> top;
}
char clearstack(sqstack *l) //置空..
{
l-> top=l-> base;
return 1;
}
char lineedit(sqstack *l)
{
int i,j;
char m;
for(i=0;i <3;i++)
{
scanf( "%c ",&m);
switch(m)
{
case '# ':pop(l);break ;
case '@ ':clearstack(l);break ;
default:push(l,m);break ;
}
}
while(*(--l-> top))
printf( "%c ",*(l-> top));
return 1;
}
char main()
{
sqstack a;
initstack(&a);
lineedit(&a);
return 1;
}
这是 "行编辑器 "....编译没有错。.但是得不出结构。.这种简单的代码..不需要写注释吧...请高手帮帮忙...
------解决方案--------------------
}
while(*(--l-> top)) <============ while(--l-> top > = l-> base)
printf( "%c ",*(l-> top));
return 1;
}
------解决方案--------------------
我想不通的是,你的主函数的返回类型为何是char?
#include <stdio.h>
#include <stdlib.h>
#define stack_init_size 100
typedef struct
{
char *top;
char *base ;
char sizestack ;
}sqstack ;
char initstack(sqstack *l)
{
l-> base=(char *)malloc(stack_init_size*sizeof(char )) ;
l-> top=l-> base;
l-> sizestack=stack_init_size;
return 1;
}
char push(sqstack *l,char e)
{
*(l-> top++)=e;
return 1 ;
}
void pop(sqstack *l)
{
--l-> top;
}
char clearstack(sqstack *l) //置空..
{
l-> top=l-> base;
return 1;
}
char lineedit(sqstack *l)
{
int i,j;
char m;
for(i=0;i <3;i++)
{
scanf( "%c ",&m);
switch(m)
{
case '# ':pop(l);break ;
case '@ ':clearstack(l);break ;
default:push(l,m);break ;
}
}
while(*(--l-> top))
printf( "%c ",*(l-> top));
return 1;
}
char main()
{
sqstack a;
initstack(&a);
lineedit(&a);
return 1;
}
这是 "行编辑器 "....编译没有错。.但是得不出结构。.这种简单的代码..不需要写注释吧...请高手帮帮忙...
------解决方案--------------------
}
while(*(--l-> top)) <============ while(--l-> top > = l-> base)
printf( "%c ",*(l-> top));
return 1;
}
------解决方案--------------------
我想不通的是,你的主函数的返回类型为何是char?