strcmp函数用于比较两个字符串,按字典顺序。如果第一个字符串小于第二个字符串,返回负值;相等则返回0;大于则返回正值。
strcmp函数详解
一、strcmp函数
strcmp函数是C语言中的一个标准库函数,用于比较两个字符串的大小,该函数定义在头文件<string.h>
中,其原型如下:
int strcmp(const char *s1, const char *s2);
s1
和s2
是两个指向以null结尾的字符串的指针,函数通过逐个字符比较两个字符串的ASCII值来确定它们的大小关系,并返回一个整数表示结果。
二、strcmp函数的返回值
返回0:如果两个字符串相等(即每个字符都相同且长度相同)。
返回负数:如果第一个字符串小于第二个字符串(按照字典序或ASCII值比较)。
返回正数:如果第一个字符串大于第二个字符串。
需要注意的是,具体返回的正数或负数的值并没有统一规定,但通常会返回第一个不同字符的ASCII值之差。
三、strcmp函数的使用示例
以下是一些使用strcmp函数的示例代码:
#include <stdio.h> #include <string.h> int main() { char str1[] = "Hello"; char str2[] = "World"; char str3[] = "Hello"; char str4[] = "world"; // 注意大小写 // 比较str1和str2 int result1 = strcmp(str1, str2); printf("strcmp(str1, str2): %d ", result1); // 输出将是一个负数,因为"H" < "W" // 比较str1和str3 int result2 = strcmp(str1, str3); printf("strcmp(str1, str3): %d ", result2); // 输出0,因为两个字符串相等 // 比较str1和str4(注意大小写) int result3 = strcmp(str1, str4); printf("strcmp(str1, str4): %d ", result3); // 输出将为负数,因为"H" > "w" return 0; }
四、注意事项
1、区分大小写:strcmp函数是区分大小写的,这意味着“Apple”和“apple”会被视为不同的字符串。
2、空字符串处理:当其中一个字符串为空字符串时,strcmp函数会比较另一个字符串的第一个字符与空字符串结束符'