c 语言中比较字符串的方法有:使用 strcmp() 函数比较两个字符串的全部内容。使用 strncmp() 函数比较两个字符串的前 n 个字符。使用循环和字符比较手工比较字符串。
C 语言中比较字符串的方法
在 C 语言中,字符串表示为字符数组。要比较两个字符串,可以使用以下方法:
1. 使用 strcmp() 函数
strcmp() 函数比较两个字符串,返回一个整数:
- 如果字符串相等,返回 0。
- 如果第一个字符串小于第二个字符串,返回一个负数。
- 如果第一个字符串大于第二个字符串,返回一个正数。
示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = strcmp(str1, str2);
// 打印结果
printf("strcmp() result: %d\n", result);
return 0;
}</string.h></stdio.h>
该代码将打印 -5,因为 "Hello" 小于 "World"。
2. 使用 strncmp() 函数
strncmp() 函数比较两个字符串的前 n 个字符,返回一个整数:
- 如果前 n 个字符相等,返回 0。
- 如果第一个字符串的前 n 个字符小于第二个字符串的前 n 个字符,返回一个负数。
- 如果第一个字符串的前 n 个字符大于第二个字符串的前 n 个字符,返回一个正数。
示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "HelloWorld";
int result = strncmp(str1, str2, 5);
// 打印结果
printf("strncmp() result: %d\n", result);
return 0;
}</string.h></stdio.h>
该代码将打印 0,因为 "Hello" 和 "HelloWorld" 的前 5 个字符相等。
3. 使用循环和字符比较
也可以使用循环和字符比较手工比较字符串:
#include <stdio.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int i = 0;
int result = 0;
while (str1[i] != '\0' && str2[i] != '\0') {
if (str1[i] str2[i]) {
result = 1;
break;
}
i++;
}
if (str1[i] == '\0' && str2[i] != '\0') {
result = -1;
} else if (str1[i] != '\0' && str2[i] == '\0') {
result = 1;
}
// 打印结果
printf("手工比较结果: %d\n", result);
return 0;
}</stdio.h>
该代码将打印 -1,因为 "Hello" 小于 "World"。
以上就是c语言怎么对比字符串的详细内容,更多请关注编程网其它相关文章!