#1 Le 18/12/2007, à 21:14
- australeolive
[RESOLU] problèmes avec la boucle for (C)
salut,
Je viens d'installer gcc sur mon ordi, et le paquet build-essential, et avant de me lancer dans des gros programme, je test que tout marche bien.
Je crée donc le petit programe suivant:
#include <stdio.h>
int i=0;
int main ()
{
for(i=0; i=10; i++)
{
printf("%d\n",i);
}
printf("c est de la balle!!\n");
return 0;
}
et là , c'est le drame, il me sort plein de 10, sans jamais s'arrêter, sauf si je fais ctrl+C
Par contre quand je remplace for par while, ou que je change les bornes, y a aucun problemes.
SI quelqu'un a une piste ça m'aiderais beaucoup.
merci
Dernière modification par australeolive (Le 18/12/2007, à 21:21)
Hors ligne
#2 Le 18/12/2007, à 21:17
- Arfein
Re : [RESOLU] problèmes avec la boucle for (C)
déjà "int i" dans ton main et pas besoin de mettre la valeur 0 puisque tu le fais dans le for
return 0 est facultatif
et surtout ta condition c'est i<10 et pas i=10 sinon ça donne ce que tu décris
EDIT : renseigne toi sur les différents & nombreux sites en français et pouf je t'en donne un dans google http://www.commentcamarche.net/c/cintro.php3 (en cherchant un peu).
Dernière modification par Arfein (Le 18/12/2007, à 21:21)
Hors ligne
#3 Le 18/12/2007, à 21:18
- Anium
Re : [RESOLU] problèmes avec la boucle for (C)
C'est normal
Dans ta boucle for, tu affectes 10 à i pour ta condition de sortie, donc à chaque itération, il te met i à 10 sans jamais pouvoir s'arrêter...
Une boucle for est de cette forme : for(initialisation; condition d'arrêt; incrémentation)
Hors ligne
#4 Le 18/12/2007, à 21:20
- australeolive
Re : [RESOLU] problèmes avec la boucle for (C)
je crois que je viens comprendre mon erreur, je devrait pas remplacer
for(i=0; i=10; i++)
par
for(i=0; i<=10;i++)
en fait je viens de tester et ça marche, mais il me semblait que je pouvait mettre un égal dans la deuxième condition du for???
Hors ligne
#5 Le 18/12/2007, à 21:21
- australeolive
Re : [RESOLU] problèmes avec la boucle for (C)
le temps que je repost, vous m'aviez répondu...
J'ai vraiment perdue la main en C, il était vraiment temps que je m'y remette....
Hors ligne
#6 Le 18/12/2007, à 21:22
- Anium
Re : [RESOLU] problèmes avec la boucle for (C)
Oui mais == qui est le test d'égalité logique.
Par contre, prend l'habitude de mettre <=, pour éviter de boucler si tu modifies ton i à l'intérieur de ta boucle.
Hors ligne
#7 Le 18/12/2007, à 21:22
- Arfein
Re : [RESOLU] problèmes avec la boucle for (C)
non tu ne peux pas
juste pour info mettre i<=10, te donneras i=11 à l'affichage (juste au cas oà¹)
Hors ligne
#8 Le 18/12/2007, à 21:24
- australeolive
Re : [RESOLU] problèmes avec la boucle for (C)
EDIT : renseigne toi sur les différents & nombreux sites en français et pouf je t'en donne un dans google http://www.commentcamarche.net/c/cintro.php3 (en cherchant un peu).
J'ai un gros poly de C, mais j'étais persuadé d'avoir le droit de mettre un égal dans la conditions d'arrêt....
et puis avec le == il rentre même pas dans la boucle... enfin bref, je vais mettre des < et des > maintenant
merci
Hors ligne
#9 Le 18/12/2007, à 21:27
- MrMagne
Re : [RESOLU] problèmes avec la boucle for (C)
tu cherches à faire:
for(int i=0; i<=10; i++)
De plus note bien que == sert à faire un test alors que = dit "i prends la valeur 10" (ce qui est toujours vrai, donc ta boucle continue sans cesse).
bon courage pour la suite
edit: houlà , owned et de loin;)
Dernière modification par MrMagne (Le 18/12/2007, à 21:30)
Hors ligne
#10 Le 18/12/2007, à 21:33
- Anium
Re : [RESOLU] problèmes avec la boucle for (C)
Autant pour moi, ça serait plutà´t != ; la différence.
Hors ligne