Boucle en c

devil -  
PeterPeterPeter Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   -
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 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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   Statut Membre Dernière intervention   30
 
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