Стек из строк, программа сегфолтится - C (СИ)

Формулировка задачи:

Пытаюсь сделать простейший стек, программа сегфолтится при попытке обратиться к функции pop().
#include <stdio.h>
#define MAX 100
 
char *myStack[MAX];
int top = 0;
 
void push(char*);
const char* pop(void);
 
int main(int argc, char **argv)
{
    push("fff");
    printf("%s\n", pop());
    return 0;
}
 
void push(char *str)
{
    if (top < MAX)
        myStack[top++] = str;
}
 
const char* pop(void)
{
    if (top >= 0)
        return myStack[top--];
    return 0;
}
Где я ошибаюсь?

Код к задаче: «Стек из строк, программа сегфолтится - C (СИ)»

textual
return myStack[top--];
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

14   голосов, оценка 4.214 из 5


СДЕЛАЙТЕ РЕПОСТ