C语言 strcmp()函数使用攻略
介绍
strcmp()函数是C语言标准库中的一员,是string.h头文件中的字符串比较函数,用于比较两个字符串是否相等。该函数会依次比较两个字符串相应位置的字符的ASCII码大小关系,直到出现不同字符或遇到字符串结束符'\0'。如果两个字符串完全相同,则该函数返回0;如果两个字符串在某个位置上出现不同,则该函数返回第一次出现不同字符时的ASCII码之差。
函数原型如下:
int strcmp(const char * str1, const char * str2);
参数说明
- str1: 用于比较的第一个字符串。
- str2: 用于比较的第二个字符串。
返回值
- 如果两个字符串相等,则返回0。
- 如果str1大于str2,则返回正数值。
- 如果str1小于str2,则返回负数值。
示例
下面我们以两个示例来讲解strcmp()的使用方法。
示例1
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20], str2[20];
int result;
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
result = strcmp(str1, str2);
if (result == 0)
printf("两个字符串相等\n");
else
printf("两个字符串不相等\n");
return 0;
}
上面的程序中,我们通过scanf()函数从用户处分别获取了两个字符串,然后使用strcmp()函数比较它们的大小关系,如果相等则输出“两个字符串相等”,否则输出“两个字符串不相等”。
示例2
#include <stdio.h>
#include <string.h>
int main()
{
char * str1 = "ABCD";
char * str2 = "ABC";
int result = strcmp(str1, str2);
printf("比较结果为:%d\n", result);
return 0;
}
上面的程序中,我们直接将两个字符串赋值给指针变量str1和str2,然后使用strcmp()函数比较它们的大小关系,该示例的输出结果为“比较结果为:68”,因为字符“D”的ASCII码为68,比字符“\0”的ASCII码高,因此str1大于str2,所以结果为68。
总结
strcmp()函数常用于判断两个字符串是否相等,也可以用于字符串排序、字符串查找等场景。需要注意的是,在使用该函数时要保证字符串本身的内容和长度都正确,否则会出现不可预知的结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言 strcmp()函数 - Python技术站