需要将二维数组作为函数参数传递进函数里处理,处理完毕后要将二维数组作为函数返回值返回。函数是不能返回数组的,只能返回指针。代码可以这样写: typedef char(*aa)[10]; aa sign(char signstr[][10]) { for(int i = 0;i != 6;++i) { qsort(signstr[i],strlen(signstr[i]),sizeof(char),charcmp); } return signstr; } main函数里可以这样写: char signstr[6][10] = {"pans","pots","opt","snap","stop","tops"}; char (*p)[10]; p = sign(signstr);