argv の要素をアルファベット順に並べ替えようとしています。
次のコード行で問題が発生しています。
qsort(argv[optind], argc - optind, sizeof(argv[optind]), sort);
具体的には、最後の引数は、以下に示す比較関数という問題を引き起こしています。
int
sort(const void *a, const void * b)
{
return(strcmp( (char*)a, (char*)b ));
}
現時点では問題なくコンパイルできますが、実行するとセグメンテーション違反が発生します。