写一个函数,实现两个字符串的比较过程。即自己写一个strcmp函数,函数的原型为:int
时间: 2023-09-02 09:02:26 浏览: 246
自己写一个字符串比较函数strcmp的实现需要注意以下几点:
1. 函数原型为int strcmp(const char *str1, const char *str2),参数为两个要比较的字符串的指针。
2. 函数需要按照字典序进行比较,即从左到右逐个字符比较其ASCII值。
3. 当两个字符不相等时,根据其ASCII值的大小关系返回-1(表示str1小于str2),0(表示str1等于str2)或1(表示str1大于str2)。
4. 在比较过程中需要判断字符串是否已经比较到结尾(即'\0'字符),如果有某个字符串已经到结尾,则需要根据此时的结果返回-1、0或1。
5. 如果两个字符串完全相等,需要返回0。
6. 如果其中一个字符串已经到结尾而另一个字符串还有未比较的字符,则已经到结尾的字符串较小。
下面是一个简单的strcmp函数的实现:
```cpp
int strcmp(const char *str1, const char *str2) {
while (*str1 != '\0' && *str2 != '\0') {
if (*str1 < *str2) {
return -1;
} else if (*str1 > *str2) {
return 1;
}
str1++;
str2++;
}
if (*str1 == '\0' && *str2 == '\0') {
return 0;
} else if (*str1 == '\0') {
return -1;
} else {
return 1;
}
}
```
以上函数会逐个比较str1和str2中的字符,根据ASCII值的大小关系返回结果。如果两个字符串完全相等,则返回0。
阅读全文