Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 big_smile
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 smile

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)

Arfein a écrit :

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. roll

Hors ligne