92054


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]


CC BY-SA 4.0
2022-11-07T04:22:23.037
92053
2022-11-07T04:54:52.730
2022-11-07T04:54:52.730
3060
55007
question
c
C言語のqsortについて


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

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

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

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


CC BY-SA 4.0
2022-11-07T04:29:03.960
92054
2022-11-07T04:29:03.960
52236
92053
answer