Implement Custom strcmp function

Code

#include <stdio.h>

int custom_strcmp(const char *a, const char *b) {
    int ret = 0; 
    int idx = 0; 
    
    // check all chars for equality
    while (a[idx] != '\0' && b[idx] != '\0')
    {
        if (a[idx] != b[idx])
        {
            ret = a[idx] - b[idx];
            return ret; 
        }
        idx++; 
    }

    // check if end char is equal
    a[idx] == b[idx] ? ret = 0 : ret = a[idx] - b[idx];

    return ret;
}

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