头文件:<string>
声明
int strcmp(const char *str1, const char *str2) ;
参数
str1 - 要比较的第一个字符串
str2 - 要比较的第二个字符串
描述
将字符串 str1 与 C 字符串 str2 进行比较。
此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续比较下一对字符,直到字符不同或达到终止 null 字符为止。
此函数执行字符的二进制比较。
返回值
返回一个整数值
当 str1 < str2 时,返回一个负数
当 str1 = str2 时,返回 0
当 str1 > str2 时,返回一个正数
注意
1.两字符串比较时,是从左往右以次比较,当出现不同字符时,比较他们的 ASCII 码中值的大小
2.返回值只有 正负数 和 0 ,一般是没有具体数值,但可以自己去实现返回具体数值
实例
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[5] = {'a','b','A','D','D'};
char arr2[5] = {'a','b','B','C','C'};
if (strcmp(arr1, arr2) > 0)
printf("arr1 > arr2");
else if (strcmp(arr1, arr2) == 0)
printf("arr1 = arr2");
else
printf("arr1 < arr2");
return 0;
}
因为两数组首先第三个元素字符不同,所以比较 A 和 B 的大小,并且不会再去比较之后的字符,A 的 ASCII 码值为 65 ,B 的 ASCII 码值为 66,65 < 66 ,所以输出 arr1 < arr2