問題文：1次元配列s[MAX]と変数topを用いてスタックの基本操作を行うプログラムを実現したい。まず、スタックに文字をpush-downする関数void push(char c, char*s, int*top);を作成せよ。これが正しく動作することをpush-down動作の前と後、それぞれ内容を関数print_stak_aryを用いて出力する事で確認せよ。ここでMAXは配列の大きさを与える定数である。

以下自分の書いたコードですが、どうすればいいかわかりませんでした。
#include<stdio.h>
#define MAX 10

void push(char c, char *s, int *top);
void print_stack_ary(char *s, int top);

int main()
{
  char s[MAX];
  char c = 'f';
  int top = 5;

 
  s[0] = 'a';
  s[1] = 'b';
  s[2] = 'c';
  s[3] = 'd';
  s[4] = 'e';
 




  push(char c, char *s ,int *top);


  return 0;

}

void push(char c, char *s, int *top)
{


  print_stack_ary(char *s, int top);

  s[top] = 'f'
    top++;

  print_stack_ary(char *s, int top);



   

}


void print_stack_ary(char *s, int top)
{


  for(top =5; top >= 0; top--)
    {

      printf("%c\n",s[top-1]);


    }




}
