模拟实现strncmp

strncmp函数与strcmp函数相似,不过它是比较两个字符串的前n个字符,它比较结束的标志是比较出来前n个字符的不同或者直到’\0’为止,具体实现代码如下:

#include<stdio.h>
#include<assert.h>
int strncmp(const char *str1, const char *str2, size_t num)
{
    assert((*str1 != NULL) && (*str2 != NULL));
    while (num && *str1 && *str2)
    {
        if (*str1 > *str2)
        {
            return 1;
        }
        if (*str1 < *str2)
        {
            return -1;
        }
        num--;
        str1++;
        str2++;
    }
    return 0;
}
int main()
{
    char *str1 = "abcdkfg";
    char *str2 = "abcdejk";
    int num = 0;
    scanf("%d", &num);
    int ret = strncmp(str1, str2, num);
    printf("%d\n", ret);
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/lly17792230965/article/details/80215033
今日推荐