给定程序函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。
#include <stdio.h>
/**********found**********/
char* fun(char *s, char *t)
{int s1=0, t1=0;char *ss, *tt;ss=s;tt=t; while(*ss){s1++;/**********found**********/ss++;}while(*tt){t1++;tt++;}if (t1>s1){return t;}else {return s;}
}int main()
{char a[80],b[80];printf("\nEnter a string:");fgets(a, sizeof(a), stdin);printf("\nEnter a string again:");fgets(b, sizeof(b), stdin);printf("\n\nThe longer is:\n\n%s\n",fun(a,b));return 0;
}
- fun 函数定义了两个指针 ss 和 tt,它们分别指向传入的两个字符串 s 和 t 的开头。
- 使用 while(*ss) 循环计算字符串 s 的长度并存储在变量 s1 中。
- 使用 while(*tt) 循环计算字符串 t 的长度并存储在变量 t1 中。
- 接下来,通过比较 t1 和 s1 的值,如果字符串 t 的长度大于字符串 s 的长度,则返回指向字符串 t 的指针;否则,返回指向字符串 s 的指针。
- 在 main 函数中,声明了两个字符数组 a 和 b,分别用于存储用户输入的两个字符串。
- 使用 fgets 函数分别从用户获取两个字符串,并通过调用 fun 函数比较它们的长度。
- 最后,通过 printf 打印出较长的字符串。