数组与函数C语言编程问题

从键盘输入3个字符串,存放在3*100的二维数组中,输出最大的字符串,我这个怎么搞不懂什么意思,麻烦学霸给我讲一下叭

用strcmp进行字符串比较大小,就是字典序大小

#include <stdio.h>
int main()
{
    char s[3][100];
    int idx=0;
    for(int i=0;i<3;i++)
    {
        gets(s);
        if(i>0 && strcmp(s[idx],s[i]) < 0)
            idx = i;
    }
    puts(s[idx]);
}


#include<stdio.h>
#include<string.h>
int main()
{
    char str[3][100];//3*100的二维数组
    char string[100];//用于存放最大的字符串
    int i;
    for(i=0;i<3;i++)
        gets(str[i]);//从键盘输入3个字符串
    if(strcmp(str[0],str[1])>0)//比较第一个和第二个字符串谁大
       strcpy(string,str[0]);//将第一个字符串复制到string[100]数组中
    else
        strcpy(string,str[1]);
    if(strcmp(str[2],string)>0)//刚刚较大的字符串再与第三个字符串比较
        strcpy(string,str[2]);
    printf("\n");
    printf("%s\n",string);
    return 0;
}