• [^] # Re: ==

    Posté par . En réponse au journal OSv : l'OS pour les nuages. Évalué à 2.

    #include <complex.h>
    complex foo (C, N) complex *C; int N; {
     complex S = 0;
     for (int I = 0; I < N; ++I) S += C[I];
     return S;
    }

    J’essaye, de mémoire et avec l'aide du manuel :)

    Il manque du contexte mais déjà je dirais qu'il manque la fonction main().
    Ensuite d'après le man complex.h, I est déjà définit donc c'est une très mauvaise idée d'utiliser ce nom pour une variable.
    Autre chose : La façon dont est défini la fonction est du C K&R non ? Alors que la forme suivante est introduite par le C99 :

    for (int i = 0; i < N; i++) { ... }

    Je ne sais pas si c'est strictement une erreur, mais c'est surement une incohérence. De plus, complex.h semble être aussi introduit par C99.
    Au niveau des détails, je penses que c'est mieux de s'assurer que C n'est pas NULL, avec par exemple :

    #include <assert.h>
    /* ... */
     assert(C != NULL);