strcmp函数复现
时间: 2024-04-05 17:28:39 浏览: 120
strcmp函数是C语言中的一个字符串比较函数,用于比较两个字符串的大小。下面是一个简单的strcmp函数的复现示例:
```c
#include <stdio.h>
int strcmp(const char *str1, const char *str2) {
while (*str1 && (*str1 == *str2)) {
str1++;
str2++;
}
return *(unsigned char*)str1 - *(unsigned char*)str2;
}
int main() {
const char *str1 = "hello";
const char *str2 = "world";
int result = strcmp(str1, str2);
if (result < 0) {
printf("str1 is less than str2\n");
} else if (result > 0) {
printf("str1 is greater than str2\n");
} else {
printf("str1 is equal to str2\n");
}
return 0;
}
```
在上面的代码中,我们使用了一个while循环来逐个比较两个字符串中的字符。如果两个字符相等,则继续比较下一个字符,直到遇到不相等的字符或者其中一个字符串的结束符'\0'。最后,我们返回两个字符的差值作为比较结果。
请注意,为了确保正确比较字符的值,我们将字符强制转换为无符号字符(unsigned char)。这是因为有些字符可能是负数,而在比较时,我们需要将它们视为正数。
阅读全文