Implement Custom strcmp function

Code

#include <stdio.h>

int custom_strcmp(const char *a, const char *b) {
    // Your logic here
    int tmp1 = 0;
    int tmp2 = 0;
    int ret = 0;
    while(true) {
        if(*(a+tmp1) == '\0' || *(b+tmp2) == '\0' || (int)*(a+tmp1) != (int)*(b+tmp2)) {
            ret = (int)*(a+tmp1) - (int)*(b+tmp2);
            break;
        }
        tmp1++;
        tmp2++;
    }
    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