不使用strcmp函数,怎样用指针比较两个字符串的大小
时间: 2023-06-12 10:06:00 浏览: 191
可以使用指针逐个比较两个字符串的字符,直到出现不相等的字符或者其中一个字符串结束。如果出现不相等的字符,则比较它们的ASCII码大小,谁大谁就排在后面,如果其中一个字符串先结束,则长度较短的字符串排在前面。
示例代码如下:
```c
#include <stdio.h>
int str_compare(char *s1, char *s2) {
while (*s1 && *s2) {
if (*s1 != *s2) {
return (*s1 > *s2) ? 1 : -1;
}
s1++;
s2++;
}
if (*s1) {
return 1;
} else if (*s2) {
return -1;
} else {
return 0;
}
}
int main() {
char s1[] = "hello";
char s2[] = "world";
int result = str_compare(s1, s2);
if (result > 0) {
printf("%s is greater than %s\n", s1, s2);
} else if (result < 0) {
printf("%s is less than %s\n", s1, s2);
} else {
printf("%s is equal to %s\n", s1, s2);
}
return 0;
}
```
输出结果为:
```
hello is less than world
```
阅读全文