C语言中,下面顺序栈为什么不能运行呢? c语言顺序栈完整程序
- 数据结构问题C语言版,下面的程序为什么不能运行?错在哪里?要怎么改?
- 我用c语言写了一下栈的基本操作,可是运行不了,求大仙帮助。 代码:#include<stdio.h> #define STACK_IN
- C语言栈的问题 老运行不出来 求解!
- C语言程序为什么不能运行
数据结构问题C语言版,下面的程序为什么不能运行?错在哪里?要怎么改?
#include
#include
int e;
typedef struct
{
int *top;
int *base;
int stacksize;
} sqstack;
int initstack(sqstack *s)
{
s->base=(int *)malloc(10*sizeof(int));
if(!s->base)
exit(0);
s->top=s->base;
s->stacksize=10;
return 1;
}
int push(sqstack *s,int e)
{
if(s->top-s->base>=10)
{
s->base=(int *)realloc(s->base,(s->stacksize+8)*sizeof(int));
if(!s->base)
exit(0);
s->top=s->base+s->stacksize;
s->stacksize+=8;
}
*s->top++=e;
return 1;
}
int pop(sqstack *s)
{
if(s->top==s->base)
return 0;
e=*--s->top;
return 1;
}
intmain()
{
sqstack s;
int m;
int i;
initstack(&s);
printf("请输入要入栈元素:\n");
for(i=0;i<=3;i++)
{
scanf("%d",&m);
push(&s,m);
}
printf("出栈元素顺序为:\n");
for(i=0;i<=3;i++)
{
pop(&s);
printf("%d\t",e);
}
printf("\n");
return 0;
}
帮你改好了,看一下吧,有问题还可以交流下!
我用c语言写了一下栈的基本操作,可是运行不了,求大仙帮助。 代码:#include<stdio.h> #define STACK_IN
写了好长啊 辛苦了
不过你不知道C语言函数参数必须定义类型吗?
每个参数加上类型
把打错的字改过来 比如if(s.pop==s.base)
编译错误都改好了 你再继续调试吧
看了一下 思路上可以细节上有错误
比如if(s-s.base>=s.stacksize) 这种判断需要加上if(s-s.base>=s.stacksize*sizeof(int))
C语言栈的问题 老运行不出来 求解!
#include
#include
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct stack
{
int *base;
int *top;
int stacksize;
}sqstack;
void initstack(sqstack *s)
{
s->base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));
s->stacksize=STACK_INIT_SIZE;
printf("chen\n");
}
void push(sqstack *s,int e)
{
if(s->top-s->base>=s->stacksize)
{
s->base=(int*)realloc(s->base,(s->stacksize+STACKINCREMENT)*sizeof(int));
s->top=s->base+s->stacksize;
s->stacksize=STACKINCREMENT+s->stacksize;
}
*s->top++=e;
printf("chen\n");
}
void unpush(sqstack *s,int *e)
{
if(s->top!=s->base)
{
*e=*--s->top;
printf("chen\n");
}
}
int main()
{int e;
sqstack p;
initstack(&p);
push(&p,5);
push(&p,4);
unpush(&p,&e);
return 0;
}
C语言程序为什么不能运行
重新设置一下,不要把编译出来的程序直接放到根目录下,
你需要把编译出来程序放到一个文件夹内,因为win7以后系统,
对根目录下运行.exe程序需要管理员权限。