编辑代码

#include <stdio.h>
#include <stdlib.h>
typedef struct lineStack
{
    int data;
    struct lineStack *next;
}lineStack;

lineStack * push(lineStack *stack,int a)
{
    lineStack * line =(lineStack *)malloc(sizeof(lineStack));
    line->data = a;
    line->next = stack;
    stack =line;
    return stack;
}

lineStack * pop(lineStack * stack){
    if (stack) {
        lineStack * p=stack;
        stack=stack->next;
        printf("弹栈元素:%d ",p->data);
        if (stack) {
            printf("栈顶元素:%d\n",stack->data);
        }else{
            printf("栈已空\n");
        }
        free(p);
    }else{
        printf("栈内没有元素");
        return stack;
    }
    return stack;
}

int main()
{
    lineStack * stack = NULL;
    for(int i=1;i<10;i++){
        stack = push(stack,i);
    }
    stack = pop(stack);

}