Boucle en c

Fermé
devil - 12 sept. 2008 à 11:03
PeterPeterPeter Messages postés 202 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 22 juin 2010 - 12 sept. 2008 à 12:15
Bonjour,

voila ce programme :
L14:
if (((double) ABS(fr) - (double) ABS(fl)) <= (double) 0.0)
{
goto L16;
}
else
{
goto L15;
}

L15:
*x = xl;
*f = fl;

L16: ; // ce boucle sa fait quoi je pense que boucle infinie mais je suis pas sure



// je remercirais chaque personne qui va m'aider pour expliquer ce boucle

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
12 sept. 2008 à 12:06
Salut,

goto signifie sauter vers ....

Par exemple si ton if est vrai alors l'execution reprendra là où est le L16, sinon il ira en L15 (et donc en L16 juste après).
Il n'y a pas de boucle ici. Juste des sauts vers des lignes.

Généralement on dit que le goto c'est mal. C'est difficile de faire des choses propres avec goto. Mais il arrive qu'on les utilise, parfois ça peut être utile. Ici dans ton exemple, l'utilisation des goto devrait être évitée.
-1
PeterPeterPeter Messages postés 202 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 22 juin 2010 30
12 sept. 2008 à 12:15
Pareil, je ne comprend pas trop l'utilité des goto dans ce cas, essaye de refaire le même bout de code mais sans les goto !
-1