char *name[],系统不知道你的数组大小,没法分配内存
然后在下面scanf的时候,也就没有接受字符串的内存空间。
可以改为
char name[3][20];
或者char **name;然后malloc挨个分配内存。
在scanf里用了name++,等输入结束,name的指向已经超出数组范围了。
sort_print里传入的name所指的字符串是未知的。
sort_print要用sort_print(char **x,int n)
第27行name的定义:char name[3][12];