这个出栈的代码: p没有必要分配内存. p = (linstack) malloc(sizeof(stack)) 这句是多余的。 if (s->top == NULL ) return 0; *x = s->top->data; p= s->top; s->top = s->top->top; free(p); return *x; 不过这个错误和你的问题没有关系, 退出不会是因为pop这个函数造成的 应该是你的代码控制逻辑上的问题,判断输入是a还是b,然后进行不同函数调用的部分
69,369
社区成员
243,082
社区内容
加载中
试试用AI创作助手写篇文章吧