C simulation to implement strcmp function

1. Topic

implement strcmp

2. Program code

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <windows.h>
#include <assert.h>

int my_strcmp(const char *p,const char *q)
{
    assert(p);
    assert(q);

    int ret = 0;

    while (!(ret = (*p - *q)) && *p)//如果两个元素的差不为0(两个元素不相等),
                        //或两个元素相等时为\0,就跳出此循环
    {
        p++;
        q++;
    }

    return *p - *q;//返回两个元素之间的差值
}

int main()
{
    char arr1[] = "abcdef";
    char arr2[] = "aaaaaa";

    printf("%d\n", my_strcmp(arr1, arr2));

    system("pause");
    return 0;
}

3. Execution results

write picture description here

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325871386&siteId=291194637