strcmp() 函数在 string.h 头文件中定义。它有助于逐个字符地比较两个给定字符串。如果字符串相等,函数将返回零。
int strcmp(const char *str1, const char *str2); #where str1,str2 are strings
strcmp() 函数接受两个参数。字符串比较将持续到字符串结束或字符不相同。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| str1 | 要比较的第一个字符串 | 必需 |
| str2 | 要比较的第二个字符串 | 必需 |
如果字符串相等,函数返回零;否则返回非零值。
| 输入 | 返回值 |
|---|---|
| str1 < str2 | 值 < 0 |
| str2 < str1 | 值 > 0 |
| str1 = str2 | 值 = 0 |
#include <stdio.h>
#include <string.h>
int main()
{
char string1[20];
char string2[20];
int out;
strcpy(string1, "flowers");
strcpy(string2, "FLOWERS");
out = strcmp(string1, string2);
if(out < 0) {
printf("string1 is less than string2");
} else if(ret > 0) {
printf("string2 is less than string1");
} else {
printf("string1 is equal to string2");
}
return(0);
}
输出
string2 is less than string1
#include <stdio.h>
#include <string.h>
int main (){
char string1[] = "abcd", string2[] = "abCd", string3[] = "abcd";
int out;
// comparing string1 and string2
out = strcmp(string1, string2);
printf("strcmp(string1, string2) = %d\n", out);
// comparing string1 and string3
out = strcmp(string1, string3);
printf("strcmp(string1, string3) = %d\n", out);
return 0;
}
输出
strcmp(string1, string2) = 1 strcmp(string1, string3) = 0