Implement Custom strcmp function

Code

#include <stdio.h>

int custom_strcmp(const char *a, const char *b) {
    int i = 0;

    while (a[i] != '\0' && b[i] != '\0') {
        if(a[i]!=b[i])
        {
            return a[i] - b[i];  // first mismatch
        }
        i++;
    }

    // If one string ended earlier
    return a[i] - b[i];
}

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

    fgets(a, sizeof(a), stdin);
    fgets(b, sizeof(b), stdin);

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

    // Remove newline from b
    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