debug assertion failed 错误

我要做大咔 2018-06-07 03:52:33
#include"stdio.h"
#include<iostream.h>
#include<stdlib.h>


typedef struct{
int data;
}SElemType;


typedef struct SqStack{
SElemType data;
struct SqStack *next;
}SqStack,*LinkStack;


int init(SqStack *S);
int push(LinkStack S,SElemType e);
int Pop(LinkStack S,SElemType e);


void main()
{

int count,n,temp;
SElemType e;
count=0;
SqStack S;
init(&S);
printf("请输入一个10进制的数:");
scanf("%d",&n);
printf("转换为8进制的数:");

while(n!=0)
{
temp=n%8;
e.data=temp;
push(&S,e);
n=n/8;
count++;
}


for(int i=0;i<count;i++)
{
Pop(&S,e);
}


}


int init(SqStack *S)
{
S=NULL;
return 1;
}


int push(LinkStack S,SElemType e){
SqStack *q;
q=new SqStack;
q->data=e;
q->next=S;
S=q;
return 1;
}


int Pop(LinkStack S,SElemType e){
if(S==NULL) printf("空栈!\n");
SqStack *p = new SqStack;
e = S->data;
p = S;
S = S->next;
printf("%d",e.data);
delete p;
return 1;
}


大佬们 我这里运行出现 debug assertion failed 错误 想问下 哪里出现了 野指针
...全文
920 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
我要做大咔 2018-06-07
  • 打赏
  • 举报
回复
不好意思这个才是代码 上面的不对. #include<stdio.h> //链栈 #include<stdlib.h> #include<malloc.h> typedef struct{ int data; }SElemType; typedef struct StackNode{ SElemType data; struct StackNode *next; }StackNode,*LinkStack; void InitStack(StackNode *S){ //构造一个空栈S,栈顶指针为空 S就是栈顶指针. S=NULL; } void Push(StackNode *S,SElemType e){ //在栈顶插入元素e StackNode *p = new StackNode; p->data = e; p->next = S; S = p; } int Pop(StackNode *S,SElemType &e){ //删除S的栈顶元素,返回e.data if(S==NULL) printf("空栈!\n"); StackNode *p = new StackNode; e = S->data; p = S; S = S->next; delete p; return e.data; } void main(){ int n,m=0,temp; SElemType e; StackNode S; InitStack(&S); printf("请输入一个十进制数:"); scanf("%d",&n); while(n!=0){ temp=n%8; e.data=temp; Push(&S,e); n=n/8; m++; } printf("转换成八进制为:"); for(int i=0;i<m;i++){ printf("%d",Pop(&S,e)); } printf("\n"); }

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧