I need to build a **recursive function** named `one` that gets two pointers, `char *S1` and `char *s2` which are pointers to 2 strings

The function returns `1` and `printf` if there is a difference in only 1 character.

***for example:***

```
s1=abcde
s2=abcdf

\\return 1

s1=abc
s2=abc

\\return 0

```

I code it and it's almost working, when `s1="dor"` and `s2="dors"` the function doesn't work.

But when `s2="dors"` and `s1="dor"` it's working. I cannot use static so I tried to save the difference counter in the end of the string (told string length < 50 so I allocated `s1[52]` and `s2[52]`)

```
int one(char* s1, char* s2){
    int Length1,Length2;
    Length2=(int)(strlen(s2));
    Length1=(int)(strlen(s1));
    if(Length1<Length2){
        if((*s1=='\0')&&(*s2=='\0')&& *(s2+Length2)=='1'){
            printf("1\n");
            return 1;
        }

            return one(s1+1,s2+1);
        }
        else{
            if(*(s2+Length2)=='1')
            {printf("0\n");
                return 0;
            }

            *(s2+Length2)='1';
            return one(s1+1, s2+1);
        }
    }

```