Ho corretto un po' il codice
codice:
#include <stdio.h>
#include <stdlib.h>

#define MAX 50

typedef enum
{
        FALSE = 0,
        TRUE
} boolean;

int lenght(char s[]);
boolean suffix(char word[], char sequence[]);

int main(void)
{
   char s1[MAX];
   char s2[MAX];
   
   printf("Inserisci la prima parola: ");
   scanf("%s", s1); /*Un'array restituisce automaticamente un indirizzo*/
   printf("\n\nInserisci la seconda parola: ");
   scanf("%s", s2);
   
   if(!suffix(s1, s2))     // ERROR: expected primary-expression before ']' token
               printf("\n\nLa seconda parola non e' un suffisso della prima.\n\n\n");
   else
               printf("\n\nLa seconda parola e' un suffisso della prima.\n\n\n");
   
   system("pause");
   
   return 0; /*IMPORTANTE*/
   
}

int lenght(char s[])
{
    int len;
    
   /*Le stringhe finiscono con '\0'*/ 
   for(len = 0; (i < MAX) && (s[i] != '\0'); len++);
    
    return len;
}

boolean suffix(char word, char sequence)
{
        int n, i, j;
        int x = lenght(sequence);
        int y = lenght(word);     // ERROR: expected primary-expression before ']' token
        
        if(x >= y)
                return FALSE;
        else for(i = x - 1, j = y - 1; (sequence[i]==word[j]) && (i>=0); --i, --j, ++n);
        
        if(n==x)
                return TRUE;
        else
                return FALSE;
}
Attenzione non fai distinzione tra C e C++
Per il resto è solo conoscenza del linguaggio e logica, o algoritmi prefatti, scegli tu :/
In ogni caso approfondirei i puntatori, i puntatori a caratteri e il C in generale.

P.S.: Usa i tag CODE