C 语言中比较字符串的方法有:使用 strcmp() 函数比较两个字符串的全部内容。使用 strncmp() 函数比较两个字符串的前 n 个字符。使用循环和字符比较手工比较字符串。

C 语言中比较字符串的方法
在 C 语言中,字符串表示为字符数组。要比较两个字符串,可以使用以下方法:
1. 使用 strcmp() 函数
strcmp() 函数比较两个字符串,返回一个整数:
立即学习“C语言免费学习笔记(深入)”;
- 如果字符串相等,返回 0。
- 如果第一个字符串小于第二个字符串,返回一个负数。
- 如果第一个字符串大于第二个字符串,返回一个正数。
示例:
#include#include int main() { char str1[] = "Hello"; char str2[] = "World"; int result = strcmp(str1, str2); // 打印结果 printf("strcmp() result: %d\n", result); return 0; }
该代码将打印 -5,因为 "Hello" 小于 "World"。
2. 使用 strncmp() 函数
strncmp() 函数比较两个字符串的前 n 个字符,返回一个整数:
- 如果前 n 个字符相等,返回 0。
- 如果第一个字符串的前 n 个字符小于第二个字符串的前 n 个字符,返回一个负数。
- 如果第一个字符串的前 n 个字符大于第二个字符串的前 n 个字符,返回一个正数。
示例:
#include#include int main() { char str1[] = "Hello"; char str2[] = "HelloWorld"; int result = strncmp(str1, str2, 5); // 打印结果 printf("strncmp() result: %d\n", result); return 0; }
该代码将打印 0,因为 "Hello" 和 "HelloWorld" 的前 5 个字符相等。
3. 使用循环和字符比较
也可以使用循环和字符比较手工比较字符串:
#includeint 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; } else 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; }
该代码将打印 -1,因为 "Hello" 小于 "World"。











