如何实现一个长尾词的字符串比较函数,类似于strcmp?

2026-04-12 04:501阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计508个文字,预计阅读时间需要3分钟。

如何实现一个长尾词的字符串比较函数,类似于strcmp?

c

一、函数基本用法及定义:

定义:int strcmp(const char *str1, const char *str2);第一个参数为第一个字符串的地址;第二个参数为第二个字符串的地址;作用:比较两个字符串是否相等。标准规定:- 如果str1小于str2,返回负数;- 如果str1等于str2,返回0;- 如果str1大于str2,返回正数。

一、函数基本用法

定义:

intstrcmp(constchar*str1,constchar*str2);

第一个参数为第一个字符串的地址;

第二个参数为第二个字符串的地址;

作用:比较两个字符串是否相等

•标准规定:

•第一个字符串大于第二个字符串,则返回大于0的数字

如何实现一个长尾词的字符串比较函数,类似于strcmp?

•第一个字符串等于第二个字符串,则返回0

•第一个字符串小于第二个字符串,则返回小于0的数字

那么如何判断两个字符串?

例:

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> int main() { char arr1[20] = { "zhangsan" }; char arr2[20] = { "zhangsanfeng" }; char arr3[20] = { "zhangsan" }; int ret1 = strcmp(arr1, arr2);//字符串1小于字符串2,返回负值 int ret2 = strcmp(arr1, arr3);//字符串1和字符串3相等,返回0 printf("arr1和arr2:%d\n", ret1); printf("arr1和arr3:%d\n", ret2); }

运行结果:

所以,通过strcmp函数即可比较两个字符串是否相等。

2.代码模拟实现

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> #include<assert.h> int my_strcmp(const char* str1, const char* str2) { assert(str1 && str2); while (*str1 == *str2) { if (*str1 == '\0') return 0;//相等 str1++; str2++; } if (*str1 > *str2) return 1;//为正值即可 else return -1;//为负值即可 } int main() { char arr1[20] = { "zhangsan" }; char arr2[20] = { "zhangsanfeng" }; char arr3[20] = { "zhangsan" }; int ret1 = my_strcmp(arr1, arr2);//字符串1小于字符串2,返回负值 int ret2 = my_strcmp(arr1, arr3);//字符串1和字符串3相等,返回0 printf("arr1和arr2:%d\n", ret1); printf("arr1和arr3:%d\n", ret2); }

运行结果:


以上就是strcmp函数的基本用法,欢迎指正~

本文共计508个文字,预计阅读时间需要3分钟。

如何实现一个长尾词的字符串比较函数,类似于strcmp?

c

一、函数基本用法及定义:

定义:int strcmp(const char *str1, const char *str2);第一个参数为第一个字符串的地址;第二个参数为第二个字符串的地址;作用:比较两个字符串是否相等。标准规定:- 如果str1小于str2,返回负数;- 如果str1等于str2,返回0;- 如果str1大于str2,返回正数。

一、函数基本用法

定义:

intstrcmp(constchar*str1,constchar*str2);

第一个参数为第一个字符串的地址;

第二个参数为第二个字符串的地址;

作用:比较两个字符串是否相等

•标准规定:

•第一个字符串大于第二个字符串,则返回大于0的数字

如何实现一个长尾词的字符串比较函数,类似于strcmp?

•第一个字符串等于第二个字符串,则返回0

•第一个字符串小于第二个字符串,则返回小于0的数字

那么如何判断两个字符串?

例:

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> int main() { char arr1[20] = { "zhangsan" }; char arr2[20] = { "zhangsanfeng" }; char arr3[20] = { "zhangsan" }; int ret1 = strcmp(arr1, arr2);//字符串1小于字符串2,返回负值 int ret2 = strcmp(arr1, arr3);//字符串1和字符串3相等,返回0 printf("arr1和arr2:%d\n", ret1); printf("arr1和arr3:%d\n", ret2); }

运行结果:

所以,通过strcmp函数即可比较两个字符串是否相等。

2.代码模拟实现

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> #include<assert.h> int my_strcmp(const char* str1, const char* str2) { assert(str1 && str2); while (*str1 == *str2) { if (*str1 == '\0') return 0;//相等 str1++; str2++; } if (*str1 > *str2) return 1;//为正值即可 else return -1;//为负值即可 } int main() { char arr1[20] = { "zhangsan" }; char arr2[20] = { "zhangsanfeng" }; char arr3[20] = { "zhangsan" }; int ret1 = my_strcmp(arr1, arr2);//字符串1小于字符串2,返回负值 int ret2 = my_strcmp(arr1, arr3);//字符串1和字符串3相等,返回0 printf("arr1和arr2:%d\n", ret1); printf("arr1和arr3:%d\n", ret2); }

运行结果:


以上就是strcmp函数的基本用法,欢迎指正~