用指针的方法编写程序,完成如下函数的功能:intmystrcmp1(char*str1,char*str2)——比较两个字符串str1、str2。若str1>str2,返回正数1;str1=str2,返回0;str1<str2,返回负数-1。
时间: 2023-06-25 22:06:08 浏览: 98
下面是使用指针的方式实现strcmp函数的代码:
```c
int mystrcmp1(char *str1, char *str2) {
while (*str1 && *str2 && (*str1 == *str2)) {
str1++;
str2++;
}
if (*str1 > *str2) {
return 1;
} else if (*str1 < *str2) {
return -1;
} else {
return 0;
}
}
```
解释如下:
- `while (*str1 && *str2 && (*str1 == *str2))`:这一行代码是一个循环语句,用于比较两个字符串的每个字符,直到遇到不相等的字符或者遍历完其中一个字符串。
- `*str1` 和 `*str2`:这两个变量是指针,用于指向字符串中的字符。
- `(*str1 == *str2)`:这是一个逻辑判断语句,用于判断两个字符是否相等。
- `str1++` 和 `str2++`:这两个语句用于将指针指向下一个字符。
- `if (*str1 > *str2) { return 1; } else if (*str1 < *str2) { return -1; } else { return 0; }`:这是一个条件语句,用于判断两个字符串的大小关系。如果 `str1` 大于 `str2`,返回1;如果 `str1` 小于 `str2`,返回-1;如果两个字符串相等,返回0。
阅读全文