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