`strcmp` 是一个标准库函数,用于比较两个 C 字符串,它定义在 `` 头文件中,`strcmp` 函数会按照字典顺序比较两个字符串,并返回一个整数来表示比较的结果。
函数原型:
```c
int strcmp(const char *str1, const char *str2);
返回值: * 如果 `str1` 和 `str2` 是相同的,那么返回值是 0。 * 如果 `str1` 在字典顺序上小于 `str2`,那么返回值是负数。 * 如果 `str1` 在字典顺序上大于 `str2`,那么返回值是正数。 下面是一个使用 `strcmp` 函数的简单例子: ```c #include <stdio.h> #include <string.h> int main() { char str1[] = "Hello"; char str2[] = "World"; char str3[] = "Hello"; // 比较 str1 和 str2 int result1 = strcmp(str1, str2); printf("strcmp(\"%s\", \"%s\") = %d\n", str1, str2, result1); // 比较 str1 和 str3 int result2 = strcmp(str1, str3); printf("strcmp(\"%s\", \"%s\") = %d\n", str1, str3, result2); // 比较 str2 和 str1 int result3 = strcmp(str2, str1); printf("strcmp(\"%s\", \"%s\") = %d\n", str2, str1, result3); return 0; }
strcmp("Hello", "World") = -1 strcmp("Hello", "Hello") = 0 strcmp("World", "Hello") = 1
在这个例子中,`strcmp` 函数被用来比较三个不同的字符串,`str1` 和 `str2` 是不同的,所以 `strcmp(str1, str2)` 返回 -1,`str1` 和 `str3` 是相同的,所以 `strcmp(str1, str3)` 返回 0,`str2` 在字典顺序上大于 `str1`,所以 `strcmp(str2, str1)` 返回 1。