用指针的方法编写程序,完成如下函数的功能: int mystrcmp1(char*str1,char*str2)——比较两个字符串 str1、str2。若 str1>str2,返回正数 1;str1=str2, 返回 0;str1<str2,返回负数-1。
时间: 2024-04-29 12:21:32 浏览: 77
字符串练习
下面是用指针的方式实现的 mystrcmp1 函数:
```c
int mystrcmp1(char* str1, char* str2) {
while (*str1 && *str2 && (*str1 == *str2)) {
str1++;
str2++;
}
if (*str1 == *str2) {
return 0;
} else if (*str1 > *str2) {
return 1;
} else {
return -1;
}
}
```
该函数的原理是在循环中逐个比较两个字符串中的字符,如果遇到不同的字符就返回它们的差值,如果两个字符串长度相等且所有字符都相同,则返回 0。如果 str1 大于 str2,则返回正数 1,否则返回负数 -1。
注意,该函数中使用了指针运算符 `*` 来访问指针所指向的字符,使用了指针自增运算符 `++` 来移动指针。此外,还需要注意字符串的结尾标志 `\0`,在比较时需要确保两个字符串都没有到达结尾。
阅读全文