请用c语言编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。
时间: 2024-05-02 11:22:49 浏览: 92
好的,我知道了您的要求。以下是函数fun的C语言实现:
```
#include <stdio.h>
#include <string.h>
char *fun(char *str1, char *str2) {
int len1 = 0, len2 = 0;
char *result;
while (*str1++ != '\0') len1++;
while (*str2++ != '\0') len2++;
if (len1 >= len2) {
result = str1 - len1 - 1;
} else {
result = str2 - len2 - 1;
}
return result;
}
int main() {
char str1[] = "hello";
char str2[] = "world";
char *result = fun(str1, str2);
printf("The longer string is: %s\n", result);
return 0;
}
```
函数fun接受两个参数,分别为需要比较长度的两个字符串。在函数内部,通过遍历两个字符串,求出它们的长度。然后根据长度大小判断哪个字符串更长,并返回较长的那个。如果两个字符串长度相同,则返回第一个字符串。
在主函数中,我们定义了两个字符串,分别为"hello"和"world"。然后调用函数fun,并将返回值赋给指针变量result。最后,打印出较长的字符串即可。
希望我的回答能够帮到您!
阅读全文