高手来帮忙注释下出栈的代码嘛!谢谢了!
int pop(node *s)
{
int x;
node *p;
p=s->next;
x=p->data;
s->next=p->next;
free(p);
return x;
}
[解决办法]
x是定义的局部变量,你返回它不恰当吧
[解决办法]
链表实现的出栈操作
s链表头结点next指向栈顶元素
int pop(node *s)
{
int x;//用于保存栈顶元素值
node *p;
p=s->next;//p指向原来的栈顶元素
x=p->data;//保存值来返回
s->next=p->next;//表头指向新站定元素,出栈完成
free(p);//释放动态分配的单元
return x;//返回出栈元素值
}