推荐答案
// www.javascriptcn.com code example
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = strcmp(str1, str2);
if (result == 0) {
printf("Strings are equal\n");
} else if (result < 0) {
printf("str1 is less than str2\n");
} else {
printf("str1 is greater than str2\n");
}
return 0;
}本题详细解读
1. strcmp 函数概述
strcmp 是 C 标准库中的一个函数,用于比较两个字符串。它位于 string.h 头文件中。
2. 函数原型
int strcmp(const char *str1, const char *str2);
str1和str2是要比较的两个字符串。- 返回值是一个整数,表示两个字符串的比较结果。
3. 返回值含义
- 如果
str1和str2相等,返回0。 - 如果
str1小于str2,返回一个负整数。 - 如果
str1大于str2,返回一个正整数。
4. 比较规则
strcmp 函数按字典顺序逐个字符比较两个字符串,直到遇到不同的字符或字符串结束符 \0。
5. 示例代码解析
char str1[] = "Hello";和char str2[] = "World";定义了两个字符串。int result = strcmp(str1, str2);调用strcmp函数比较这两个字符串,并将结果存储在result变量中。- 根据
result的值,程序输出相应的比较结果。
6. 注意事项
strcmp是区分大小写的,即'A'和'a'被认为是不同的字符。- 如果两个字符串长度不同,但前面的字符都相同,较短的字符串被认为是较小的。
7. 相关函数
strncmp:比较两个字符串的前n个字符。strcasecmp:不区分大小写的字符串比较(非标准库函数,常见于某些系统)。