比较编程语言C中的两个字符串。

作者: Judy Howell
创建日期: 27 七月 2021
更新日期: 10 可能 2024
Anonim
9 2 指针和字符串
视频: 9 2 指针和字符串

内容

字符串长度比较是C编程语言中常用的函数,因为它使您可以找出哪个字符串包含更多字符。这对于排序数据非常有用。字符串比较需要一个特殊的函数;所以不要使用: != 或者 ==.

  1. 有两个函数可让您比较C语言中的字符串。 两者都包含在 string.h>代码库。
    • strcmp() -此函数比较两个字符串并返回字符数的差。
    • strncmp() -这也适用于 strcmp(),除了这个是第一个 ñ 比较字符。它被认为更安全,因为它有助于防止溢出崩溃。
  2. 使用必要的库运行程序。 你们两个都有图书馆 stdio.h>string.h> 以及程序可能需要的其他库。

    #include stdio.h> [[图像:在C编程步骤1中比较两个字符串,版本4.webp |中]] #include string.h>

  3. 开始一个。整型功能。 这是学习此函数的最简单方法,因为它返回一个比较两个字符串长度的整数。

    [[图像:在C编程步骤2版本4.webp中比较两个字符串|中]] #include stdio.h> [[图像:在C编程步骤3版本3.webp中比较两个字符串|中] | #include字符串。 h> int main(){}

  4. 确定要比较的两个字符串。 在此示例中,我们比较两个数据 烧焦 字符串。您还必须将返回值确定为整数。

    [[图像:在C编程步骤4版本4.webp中比较两个字符串|中]] #include stdio.h> [[图像:在C编程步骤5版本4.webp中比较两个字符串|中] | #include字符串。 h> int main(){char * str1 =“ apple”; char * str2 =“橙色”; int ret;}

  5. 添加比较功能。 现在,您已经定义了两个字符串,您可以添加compare函数。我们去 strncmp() 因此,我们需要确保要在函数中设置要测量的字符数。

    [[图像:比较C编程步骤6中的两个字符串,版本4.webp |中]] #include stdio.h> #include string.h> int main(){char * str1 =“ apple”; char * str2 =“橙色”;诠释ret = strncmp(str1,str2、11); / *比较最长不超过11​​个字符的两个字符串 * /}

  6. 用。如果别的进行比较。 现在我们已经创建了函数,使用 如果别的 确定哪个字符串更长。 strncmp()0 结果,如果字符串长度相同,则str1较长时为正数,str2较长时为负数。

    #include stdio.h> #include string.h> int main(){char * str1 =“ apple”; char * str2 =“橙色”;诠释ret = strncmp(str1,str2、11); if(ret> 0){printf(“ str1更长”); } else if(ret 0){printf(“ str2 is long”); } else {printf(“两个字符串相同”); } return(0); }

警示语

  • 请记住,如果字符串相等,则返回值为0。这可能会造成混淆,因为0也是FALSE的值。