用指针法编写函数int cmpstr(char *p,char *q),比较两个字符串大小(不要用strcmp函数)
时间: 2023-06-16 20:04:15 浏览: 101
数据结构-c语言-带main函数-串4-串比较-根据标准库函数strcmp()和定义求串比较函数的两种方法。
可以使用指针法遍历两个字符串,逐个比较字符的ASCII码值大小,实现比较字符串大小的功能。以下是示例代码:
```c
int cmpstr(char *p, char *q) {
while (*p && *q) {
if (*p > *q) {
return 1;
} else if (*p < *q) {
return -1;
}
p++;
q++;
}
if (*p == '\0' && *q == '\0') {
return 0;
} else if (*p == '\0') {
return -1;
} else {
return 1;
}
}
```
函数中,首先使用while循环遍历两个字符串,只要两个字符串都没有遍历到结尾,就继续比较字符的大小。如果p所指向的字符大于q所指向的字符,说明p字符串比q字符串大,返回1;如果p所指向的字符小于q所指向的字符,说明p字符串比q字符串小,返回-1。如果两个字符相等,则继续比较下一个字符。
当循环结束后,如果p和q都遍历到了结尾,说明两个字符串相等,返回0;如果p遍历到了结尾而q还没有遍历到结尾,说明p字符串比q字符串小,返回-1;如果q遍历到了结尾而p还没有遍历到结尾,说明p字符串比q字符串大,返回1。
阅读全文