这是我用数组实现栈,怎么入栈函数越界了

typedef struct node
{
int data[100];
int top;
}stack;
void initcreat(stack l)
{
l=(stack
)malloc(sizeof(stack));
l->top=0;
}
void push(stack *l,int n)
{
l->data[l->top]=n;
l->top++;
}

你 push()函数中没有判断数组的上限
push()函数调用超过100次了没有.,加上判断数组的上限看看

void push(stack *l,int n)
{
    if (l->top >= 100) {
        printf("数组已到上限");
        return 0;
    }
    l->data[l->top]=n;
    l->top++;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632