任务描述
本关任务:给定程序中函数
fun
的功能是从N
个字符串中找出最长的那个串,并将其地址作为函数值返回。N
个字符串在主函数中输入,并放入一个字符串数组中。请改正程序中的错误,使它能得出正确结果。注意:不要改动main
函数,不得增行或删行,也不得更改程序的结构。
测试说明
测试输入:
a bb ccc dddd eeeee
预期输出:
The 5 string : a bb ccc dddd eeeee The longest string : eeeee
代码实现
#include <stdio.h>
#include <string.h>
#define N 5
#define M 81
char* fun(char(*sq)[M])
{
int i; char* sp;
sp = sq[0];
for (i = 0; i < N; i++)
if (strlen(sp) < strlen(sq[i]))
sp = sq[i];
return sp;
}
int main()
{
char str[N][M], * longest; int i;
for (i = 0; i < N; i++)
scanf("%s", str[i]);
printf("The %d string :\n", N);
for (i = 0; i < N; i++)
puts(str[i]);
longest = fun(str);
printf("The longest string :\n");
puts(longest);
return 0;
}