📜  C C++中的strcmp()(1)

📅  最后修改于: 2023-12-03 14:39:37.264000             🧑  作者: Mango

C/C++中的strcmp()

在C/C++编程中,字符串比较是一项常见的操作。而strcmp()函数就是用于比较两个字符串的函数。

函数类型及头文件

strcmp()函数属于C/C++标准库函数,在C语言中的头文件为<string.h>,而在C++中的头文件为

函数声明

在<string.h>头文件中,strcmp()函数的声明如下:

int strcmp(const char *str1, const char *str2);

头文件中,strcmp()函数的声明如下:

int strcmp(const char* str1, const char* str2);
函数功能

strcmp()函数用于比较两个字符串,返回值为整数类型,其数值意义如下:

  • 若str1==str2,返回0;
  • 若str1>str2,返回正整数;
  • 若str1<str2,返回负整数。
函数用法

strcmp()函数比较字符串时,是按照字符的ASCII码值逐个进行比较。

以下是一个简单的示例代码,演示了如何使用strcmp()函数比较两个字符串:

#include <stdio.h>
#include <string.h>

int main()
{
    char str1[20] = "Hello";
    char str2[20] = "Hello world!";

    int result = strcmp(str1, str2);

    if (result < 0)
        printf("str1 is less than str2\n");
    else if (result > 0)
        printf("str1 is greater than str2\n");
    else
        printf("str1 is equal to str2\n");

    return 0;
}

在以上示例代码中,我们首先定义了两个字符串str1和str2,然后使用strcmp()函数比较了这两个字符串,并根据函数返回值判断它们的大小关系。

注意事项
  • strcmp()函数比较字符串时,遇到字符串结束符'\0'时会停止比较;
  • 若比较的字符串长度不一致,将自动在短字符串后面添加'\0'来完成比较;
  • 在比较字符串前应确保字符串已经存在,并且已经以'\0'结尾。
总结

strcmp()函数是C/C++编程中常用的字符串比较函数,通过比较两个字符串的ASCII码值来确定它们的大小关系。使用该函数前应注意以上注意事项,避免出现错误。