写点什么

strcmp() - 比较字符串

作者:謓泽
  • 2022 年 7 月 21 日
  • 本文字数:1431 字

    阅读完需:约 5 分钟

strcmp() - 比较字符串

🚩write in front🚩

🔎大家好,我是謓泽,希望你看完后。能对你有所帮助,不足请指正,共同学习交流🔎

🆔本文由 謓泽 原创 如需转载还请通知⚠

📝个人主页-InfoQ - 促进软件开发及相关领域知识与创新的传播-极客邦💬

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​

✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩

📢2021 年度博客之星物联网与嵌入式开发 TOP5~2021 博客之星 Top100~阿里云专家 ^ 星级博主~掘金⇿InfoQ 创作者~周榜 99»总榜 1184👋

🎄strcmp() - 比较字符串🎄

strcmp() 函数的声明方式如下 👇


int strcmp(const char *str1, const char *str2)
复制代码


将 C 语言 字符串 str1 与 C 语言 字符串 str2 进行比较。

此函数开始比较每个字符串的第一个字符。 如果它们彼此相等,则继续以下对,直到字符不同或到达终止空字符。此函数执行字符的二进制比较。

str1 → 要进行比较的第一个字符串。

str2 → 要进行比较的第二个字符串。

比较每一位字符比较的大小是 ASCll 码的值。


该函数返回值如下:该函数具有返回值 int


如果返回值小于 0,则表示 str1 小于 str2。

如果返回值大于 0,则表示 str1 大于 str2。

如果返回值等于 0,则表示 str1 等于 str2。

🎄strcmp()函数代码示例🎄

使用 strcmp()函数代码示例如下 👇


#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<string.h>int main(){  char str1[20] = { 0 };  char str2[20] = { 0 };  puts("请输入第一个字符串:");  scanf("%s", &str1);  puts("请输入第二个字符串:");  scanf("%s", &str2);  puts("返回的值:");  printf("%d",strcmp(str1, str2));  return 0;}
复制代码


🎄第一次的运行结果🎄

请输入第一个字符串:abc

请输入第二个字符串:abc

返回的值:0

🎄第二次的运行结果🎄

请输入第一个字符串:abcd

请输入第二个字符串:abc

返回的值:1

🎄第三次的运行结果🎄

请输入第一个字符串:abc

请输入第二个字符串:abcd

返回的值:-1

🎄创建自定义函数实现 strcmp()🎄

思路很简单其实 👇

相等为 0、大于返回 1、小于返回-1,重要的点注释其实都是写了的。

示例代码如下:👇


#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<assert.h>int my_strcmp(const char *str1, const char *str2){  assert(str1 && str2 != NULL);  while (*str1 == *str2)  {    //判断相等情况,有一个相等就代表*str2也是一样的    if (*str1 == '\0')    {      return 0;    }    *str1++;    *str2++;//自增比较  }  if (*str1 > *str2)    return 1;//大于  else    return -1;//小于  //其实还有一种更简单的方法,大于小于。  //return *str1 - *str2;  //这个是指针减指针的概念,前面介绍有说过!}int main(){  char str1[20] = { 0 };  char str2[20] = { 0 };  puts("请输入第一个字符串:");  scanf("%s", &str1);  puts("请输入第二个字符串:");  scanf("%s", &str2);  int ret = my_strcmp(str1, str2);  printf("返回的值:%d\n",ret);  return 0;}
复制代码


🎄第一次的运行结果🎄

请输入第一个字符串:abc

请输入第二个字符串:abc

返回的值:0

🎄第二次的运行结果🎄

请输入第一个字符串:abcd

请输入第二个字符串:abc

返回的值:1

🎄第三次的运行结果🎄

请输入第一个字符串:abc

请输入第二个字符串:abcd

返回的值:-1


以上的四个字符串函数是我们学 C 语言必须要掌握的,包括模拟字符串函数的实现也是有必要去实现的,这样的好处可以锻炼我们对函数库的了解,增强自己写代码的能力,建议反复观看,牢记掌握这四个字符串函数~

发布于: 刚刚阅读数: 3
用户头像

謓泽

关注

一起happy! 2022.01.29 加入

谁也不知道旅途的终点是怎么样的,现在只不过是开始。便全力以赴!终点必将是星辰大海。 2021年度博客之星物联网与嵌入式开发TOP5 2021博客之星Top100 阿里云专家博主^星级博主 CSDN⇿掘金⇿InfoQ[创作者]

评论

发布
暂无评论
strcmp() - 比较字符串_7月月更_謓泽_InfoQ写作社区