Код:
int check_alpha(char *s1, char *s2)
{
char *ss1=s1, *ss2=s2;
int cmp1=0,cmp2=0;
if (!s1 && !s2) return 1; // <<<<<<<<<<< OK
if (*s1>='A' && *s1<='Z') cmp1=1;
if (*s2>='A' && *s2<='Z') cmp2=1;
if (cmp1 && cmp2 && *s1!=*s2) return 0; // <<<<<<<<< FAIL
if (!cmp1 && *s1!='\0') ss1++;
if (!cmp2 && *s2!='\0') ss2++;
return check_alpha(ss1,ss2); // <<<<<<<< recursion call
}