Erreur dans mon code C

Résolu
salut a tous je vous écrit car j'ai besoin d'aide , j'ai un code en C qui ne veut pas fonctionner , il y a une erreur mais je ne sais pas ou est cette erreur , voici mon code et au passage je code sur code blocks ,

#include <stdio.h>
int main()
{
int prod =0;
int k =1;
for(int i = 1 ; i <= 1 0; i++);
{
prod = prod*k ;
k++;
}
printf("La valeur de prod est %d",prod);
return 0;
}


je vous remercie d'avance

3 réponses

  1. Salut @RYn_9741,

    Tu as des espace et des
    ;
    en trop.

    Voici ton code corrigé :
    #include <stdio.h>
    int main(){
        int prod=0;
        int k=1;
        for(int i=1; i<=10; i++) {
            prod=prod*k;
            k++;
        }
        printf("La valeur de prod est %d",prod);
        return 0;
    }


    1. Bonjour,

      Comme on ne sais pas ce que tu cherches à faire, on peut difficilement t'indiquer comment le faire!

      Par exemple:
      - si tu veux que
      prod
      soit la somme des 10 premiers entiers, il faut remplacer la ligne 6 par
      prod += k;
      , mais le nom
      prod
      serait très mal choisi.
      - si tu veux que
      prod
      soit le produit des 10 premiers entiers, il faut conserver la ligne 6, mais ligne 3, il faut faire
      int prod = 1;
      car comme l'a écrit Zepines tu ne fait que multiplier des zéros, là aussi le nom
      prod
      devrait plutôt être
      factorielle
      .
      1. ok je t'en remercie mais j'ai encore une question j'ai du mal a comprendre ce que le programme fait je sais qu'il fait une multiplication de deux variables mais a quoi ca sert toutes ces incrémentations (i++,k++).

        ps : je débute la programmation
        1. De rien :)

          Il fait des choses bizarres. À commencer par
          prod=0
          donc ça multiplie continuellement par 0...

          L'incrémentation de
          i
          (
          i++
          ) sert pour la boucle
          for
          . À chaque passage (tant que
          i
          est inférieur ou égal à
          10
          ) +1 est ajouté à
          i
          . Une fois que
          i
          est supérieur à
          10
          la boucle s'arrête.
          L'incrémentation de
          k
          est juste utilisée pour ce calcul bizarre.