C言語のqsortについて


C言語についての質問です。

`qsort` の課題にて、下記のコードを提出したところ、

[code]

    printf("a or d: ");
    scanf(" %c", &ad);
    qsort(sin, 9, sizeof(int), ad == 'a'?cmp_u:cmp_d);
    
[/code]

`'a'?cmp_u:cmp_d);` と一行にまとめるのではなく、`if`
文を使用して分けて書くように言われて下記の様にコードを書き直したのですが、エラーになってしまいます…  
どなたか書き方を教えて頂けないでしょうか？

[code]

    if (ad == 'a')
            qsort(sin, 9, cmp_u);
        else
            qsort(sin, 9, cmp_d);
    
[/code]




> qsort(sin, 9, sizeof(int), ad == 'a'?cmp_u:cmp_d);

コレ↑を，例えば `cmp_u` を使うように書き換えるなら

`qsort(sin, 9, sizeof(int), cmp_u ); //最後の引数を除いては同じ`

とすべきではあるまいか．  
（あなたの記述だと引数が３個になってしまっている）




> qsort(sin, 9, sizeof(int), ad == 'a'?cmp_u:cmp_d);

コレ↑を，例えば `cmp_u` を使うように書き換えるなら

`qsort(sin, 9, sizeof(int), cmp_u ); //最後の引数を除いては同じ`

とすべきではあるまいか．  
（あなたの記述だと引数が３個になってしまっている）

