Implement Custom strcmp function

Code

#include <stdio.h>

int custom_strlen(const char *temp)
{
    int cnt = 0;
    while(*(temp +cnt) != '\0')
    {
        cnt++;
    }
    return cnt;
}

int max(int a, int b)
{
    if(a>b) return a;
    return b;
}  

int custom_strcmp(const char *a, const char *b) {
    int len_a = custom_strlen(a);
    int len_b = custom_strlen(b);
    int max_len = max(len_a,len_b);
    for(int i = 0; i<max_len; 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