Implement Custom strcmp function

Code

#include <stdio.h>
#include <string.h>
int custom_strcmp(const char *a,const char *b) 
{
    int i=0,cnt=0;
    if(strlen(a)==strlen(b))
    {
        for(i=0;a[i];i++)
        {
            if(a[i]-b[i]==0)
            {
                cnt++;
            }
            else
            {
                return a[i]-b[i];
            }
        }
        if(cnt==strlen(a))
        {
            return 0;
        }
    }
    else if(strlen(a)>strlen(b))
    {
        for(i=0;a[i];i++)
        {
            if(a[i]-b[i]!=0)
            {
                return a[i]-b[i];
            }
        }
    }
    else if(strlen(a)<strlen(b))
    {
        for(i=0;b[i];i++)
        {
            if(a[i]-b[i]!=0)
            {
                return a[i]-b[i];
            }
        }
    }
    return 0;
}

int main() {
    char a[101], b[101];
    fgets(a, sizeof(a), stdin);
    fgets(b, sizeof(b), stdin);

    // Remove newline
    int i = 0;
    while (a[i]) {
        if (a[i] == '\n') { a[i] = '\0'; break; }
        i++;
    }
    i = 0;
    while (b[i]) {
        if (b[i] == '\n') { b[i] = '\0'; break; }
        i++;
    }

    printf("%d", custom_strcmp(a, b));
    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

apple apple

Expected Output

0