| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 518 人关注过本帖
标题:[求助]让我头疼的运行错误,大家看看,错误之处我已经标记,希望有方法通过
只看楼主 加入收藏
yangzhifu
Rank: 1
等 级:新手上路
威 望:2
帖 子:433
专家分:0
注 册:2007-4-11
收藏
 问题点数:0 回复次数:5 
[求助]让我头疼的运行错误,大家看看,错误之处我已经标记,希望有方法通过

我用的vc6.0与gcc
//相关定义
//3-1define.h
#ifndef _MYDEFINEFILE_H
#define _MYDEFINEFILE_H

#define INITSIZE 100
#define ADDSIZE 10
typedef int elemtype;
typedef struct
{
int top;
elemtype *base;
int stacksize;
}sqstack;
#endif
//函数
//3-1lib.h
#include<stdio.h>
#include<malloc.h>
#include"3-1define.h"
void initstack(sqstack *s)
{
s->base=(elemtype *)malloc(INITSIZE*sizeof(elemtype));
s->top=0;
s->stacksize=INITSIZE;
printf("OK ,CREATDE!\n");
}
int getlen(sqstack *s)
{
return s->top;
}
int gettop(sqstack *s)
{
if(s->top<=0)
return 0;
else
return 1;
}
int push(sqstack *s,elemtype x)
{
if(s->top>=s->stacksize)
{s->base=(elemtype*)malloc(sizeof(elemtype)*(INITSIZE+ADDSIZE));
if(!s->base)
return 0;
s->stacksize=INITSIZE+ADDSIZE;

}

s->base[s->top++]=x;
return 1;
}
int pop(sqstack *s,elemtype *e)
{
if(s->top==0)
return 0;
*e=s->base[--s->top];
return 1;
}
int stackempty(sqstack *s)
{
if(s->top==0)
return 1;
else
return 0;
}
void list(sqstack *s)
{
int i;
for(i=s->top-1;i>=0;i--)
printf("%4d",s->base[i]);
printf("\n");
}
//主函数
#include<stdio.h>
#include"3-1define.h"
#include"3-1lib.h"
void main()
{

sqstack *s=(sqstack *)0;
int i=0,j;
int e;
initstack(s);
printf("how many do you want to creat:\n");
scanf("%d",&i);
for(j=0;j<i;j++)
{
printf("input %d e:\n",j+1);
scanf("%d",&e);
push(s,e);
}
list(s);
}





搜索更多相关主题的帖子: 头疼 运行 
2007-10-19 22:41
zxc1998
Rank: 1
等 级:新手上路
威 望:1
帖 子:133
专家分:0
注 册:2007-3-21
收藏
得分:0 

在调用initstack(s)之前,应该先给s申请空间,然后才能使用s->base

2007-10-19 22:47
yangzhifu
Rank: 1
等 级:新手上路
威 望:2
帖 子:433
专家分:0
注 册:2007-4-11
收藏
得分:0 
看看主函数,我用了的

方寸之内,剖天下; 方坛之内,析自我;
2007-10-19 23:11
aoaoaoao
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-5-14
收藏
得分:0 

........................

[此贴子已经被作者于2007-10-19 23:23:56编辑过]

2007-10-19 23:20
zxc1998
Rank: 1
等 级:新手上路
威 望:1
帖 子:133
专家分:0
注 册:2007-3-21
收藏
得分:0 
以下是引用yangzhifu在2007-10-19 23:11:16的发言:
看看主函数,我用了的

我是说你没有为s申请空间,告诉你吧:
要这样,而是将s赋值为0!!!

s = (sqstack *)malloc(sizeof(sqstack));

2007-10-19 23:21
yangzhifu
Rank: 1
等 级:新手上路
威 望:2
帖 子:433
专家分:0
注 册:2007-4-11
收藏
得分:0 

谢谢哦


方寸之内,剖天下; 方坛之内,析自我;
2007-10-20 13:00
快速回复:[求助]让我头疼的运行错误,大家看看,错误之处我已经标记,希望有方法 ...
数据加载中...
 
   



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

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