有大佬能解释一下这个代码吗?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct tongxunlu
{
char xingming[11];
char shengri[9];
char dianhuahaoma[18];
} s[10];
int cmp(void const *a, void const *b)
{
return strcmp(((struct tongxunlu *)a)->shengri, ((struct tongxunlu *)b)->shengri);
}
int main()
{
int n, i;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%s%s%s", s[i].xingming, s[i].shengri, s[i].dianhuahaoma);
qsort(s, n, sizeof(s[0]), cmp);
for (i = 0; i < n; i++)
printf("%s %s %s\n", s[i].xingming, s[i].shengri, s[i].dianhuahaoma);
return 0;
}