用指针写一个函数比较两个字符串大小
时间: 2023-12-14 10:38:24 浏览: 123
可以写一个函数 `compareStrings`,其参数为两个 `char` 类型的指针,分别指向要比较的字符串,函数返回值为整型,表示两个字符串的大小关系。
函数实现如下:
```c
int compareStrings(char *str1, char *str2) {
while (*str1 == *str2) {
if (*str1 == '\0') {
return 0; // 两个字符串相等
}
str1++;
str2++;
}
return (*str1 > *str2) ? 1 : -1; // 如果 str1 比 str2 大返回 1,否则返回 -1
}
```
函数逐个比较两个字符串中的字符,如果相同就继续比较下一个字符,直到出现不同的字符或者字符串结尾。如果两个字符串完全相同,则返回 `0`;否则,返回比较结果。
相关问题
用指针法编写函数int cmpstr(char *p,char *q),比较两个字符串大小(不要用strcmp函数)。
可以使用指针来比较两个字符串的大小,具体实现如下:
```C
int cmpstr(char *p, char *q) {
while (*p == *q && *p != '\0') { // 指针指向的字符相等
p++;
q++;
}
return (*p - *q); // 返回两个指针指向字符的差值
}
```
该函数首先通过 while 循环比较两个指针所指向字符是否相等,如果相等则继续向后比较,直到两个指针所指向的字符不相等或者到达字符串结尾。最后返回两个指针指向字符的差值,如果差值为 0,则两个字符串相等;如果差值小于 0,则第一个字符串小于第二个字符串;如果差值大于 0,则第一个字符串大于第二个字符串。
需要注意的是,在比较两个字符时,需要判断字符是否为字符串结尾符 '\0'。
阅读全文