用指针的方式编写,完成下列函数的功能:int mystrcmp1(char*str1,char*str2)--比较两个字符串str 1,str 2.若str1>str2,返回正数1;str1=str2,返回0;str1<str2,返回负数-1;
时间: 2024-01-21 14:20:04 浏览: 21
下面是使用指针的方式编写的函数:
```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;
}
}
```
该函数使用指针遍历字符串,逐个比较字符,如果遇到不同的字符,则返回它们的差值,如果遍历完两个字符串后都没有不同的字符,则返回0。
相关问题
用指针的方式编写,完成下列函数的功能:int mystrcmp1(char*str1,char*str2)--比较两个字符串str 1,str 2.若str1>str2,返回正数1;str1=str2
以下是使用指针的方式编写的函数 `mystrcmp1`:
```c
int mystrcmp1(char *str1, char *str2)
{
while (*str1 == *str2 && *str1 != '\0') {
str1++;
str2++;
}
return *str1 - *str2;
}
```
函数通过一个 `while` 循环遍历两个字符串的每一个字符,当两个字符相等时,继续向后遍历,直到出现不相等的字符或者遍历到了字符串的结尾。最后,函数返回第一个不相等字符的 ASCII 码值之差。
如果 `str1` 大于 `str2`,那么返回的值是正数,如果 `str1` 等于 `str2`,那么返回的值是 0,如果 `str1` 小于 `str2`,那么返回的值是负数。
用指针的方法编写程序,完成如下函数的功能: int mystrcmp1(char*str1,char*str2)——比较两个字符串 str1、str2。若 str1>str2,返回正数 1;str1=str2, 返回 0;str1<str2,返回负数-1。
下面是用指针的方式实现的 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`,在比较时需要确保两个字符串都没有到达结尾。