编写函数cmpStr(char s1[],char s2[])比较两个字符串s1和 s2的大小。如果s1>s2,返回一个正数;s1=s2,返回0;s1<s2,返回一个负数,在主函数中调用该函数完成字符串的比较操作,并输出返回的值。
时间: 2023-12-29 13:45:32 浏览: 40
以下是实现该函数的代码:
```c
int cmpStr(char s1[], char s2[]) {
int i = 0;
while (s1[i] != '\0' && s2[i] != '\0') {
if (s1[i] > s2[i]) {
return 1;
} else if (s1[i] < s2[i]) {
return -1;
}
i++;
}
if (s1[i] == '\0' && s2[i] == '\0') {
return 0;
} else if (s1[i] == '\0') {
return -1;
} else {
return 1;
}
}
```
在主函数中可以这样调用:
```c
#include <stdio.h>
int cmpStr(char s1[], char s2[]);
int main() {
char s1[] = "hello";
char s2[] = "world";
int result = cmpStr(s1, s2);
printf("%d\n", result);
return 0;
}
```
输出结果为:1,表示s1大于s2。
相关问题
(2)编写函数cmpStr(char s1[],char s2[])比较两个字符串s1和 s2的大小。如果s1>s2,返回一个正数;s1=s2,返回0;s1<s2,返回一个负数,在主函数中调用该函数完成字符串的比较操作,并输出返回的值。
以下是cmpStr函数的代码实现:
```c
int cmpStr(char s1[], char s2[]) {
int i = 0;
while (s1[i] != '\0' && s2[i] != '\0') {
if (s1[i] > s2[i]) {
return 1;
} else if (s1[i] < s2[i]) {
return -1;
}
i++;
}
if (s1[i] == '\0' && s2[i] == '\0') {
return 0;
} else if (s1[i] == '\0') {
return -1;
} else {
return 1;
}
}
```
该函数通过循环遍历两个字符串,逐个比较字符的大小。如果其中一个字符串已经遍历完,那么根据未遍历完的字符串的长度判断大小关系。
在主函数中,可以调用该函数完成字符串的比较操作,并输出返回的值,如下所示:
```c
int main() {
char s1[] = "hello";
char s2[] = "world";
int result = cmpStr(s1, s2);
printf("cmpStr result: %d\n", result);
return 0;
}
```
运行程序,输出结果为:
```
cmpStr result: -1
```
说明s1 < s2。
用指针法编写函数int cmpstr(char *p,char *q),比较两个字符串大小(不要用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。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)