数组与函数,大学C语言编程

从键盘输入三个字符串,存放在3*100的二维数组中,输出最大的字符串,例如:sun,zhang,wang输出:zhang。 我不懂什么意思,各位大老我看看



#include<stdio.h>
#include<string.h>
#define N  3
int main()
{
    char a[N][100],b[100];//定义一个二维数组来存放字符串
    int min=0;//存放最小字符串所在的位置
    for(int i=0;i<N;i++)
    {
        scanf("%s",&a[i]); //录入字符串
    }
    for(int i=0;i<N;i++)//选择排序   将这几个字符串由小到大排列
    {
        min=i;
        for(int j=i+1;j<N;j++)
        {
            if(strcmp(a[min],a[j])>0)
            {
                min=j;//找出本次循环最小的一个
            }
        }
        if(min!=i)//放到开头
        {
            strcpy(b,a[min]);
            strcpy(a[min],a[i]);
            strcpy(a[i],b);
        }
        printf("%s\n",&a[N-1]);
}