筛选出最长的字符串,fun函数哪里有问题🙏

#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

char fun(char (a)[81], int num, char max)
{
int t=strlen(a[0]);
int i,j;
for(i=0;i<num;i++)
if(t<strlen(a[i]));
{
t=strlen(a[i]);
max=a[i];
}
return max;
}
void main()
{
char ss[10][81],ps=NULL;
int i=0,n;
printf("输入若干个字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i], "
")==0) /用4个星号作为结束输入的标志/
{
i++;
gets(ss[i]);
puts(ss[i]);
}
n=i;
ps=fun(ss,n,ps);
printf("\nmax=%s\n",ps);
}


#include<stdio.h>
#include<string.h>

int fun(char (*a)[81], int num)
{
    int i, j,index=0,t=0;
    for (i = 0; i<num; i++)
        if (t<strlen(a[i]))
    {
        t = strlen(a[i]);
        index = i;
    }
    return index;
}
void main()
{
    char ss[10][81] = {0};
    int i;
    printf("输入若干个字符串:\n");
    for(i=0;i<10;i++)
    {
        gets(ss[i]);
        puts(ss[i]);
        if (strcmp(ss[i], "****") == 0)//用4个星号作为结束输入的标志
            break;
    } 
    i = fun(ss, i);
    printf("\nmax=%s\n", ss[i]);
}