A voir également:
- [C] comment faire un goto lbl??
- Autoit goto - Forum Autoit / batch
- Vba goto - Forum VB / VBA
- If exist goto ✓ - Forum Autoit / batch
- Faire un goto "random" en batch ✓ - Forum Logiciels
- On error goto vba ✓ - Forum VB / VBA
8 réponses
Faut pas faire de goto, c'est mauvais pour la santé.
Si besoin de GOTO se fait sentir, il y a 99,99% de chances qu'il ne soit en réalité pas nécessaire (c'est juste un problème d'algo).
Si besoin de GOTO se fait sentir, il y a 99,99% de chances qu'il ne soit en réalité pas nécessaire (c'est juste un problème d'algo).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour boucle, il y a while, for, etc.
Je te recommande:
http://www.commentcamarche.net/ccmdoc/index.php3?cat=93
http://www.commentcamarche.net/ccmdoc/index.php3?cat=78
Je te recommande:
http://www.commentcamarche.net/ccmdoc/index.php3?cat=93
http://www.commentcamarche.net/ccmdoc/index.php3?cat=78
BOF,
C'est comme interdire à un enfant d'utiliser un couteau, parce qu'il pourrait se couper, ou assassiner son voisin!
Nous sommes entourés d'ustensiles et d'engins qui, mal utilisés, sont dangereux mais qui, dans des conditions normales d'utilisation, sont inoffensifs : couteaux, ciseaux, prises électriques, etc.
L'utilisation du goto n'est pas recommandée, mais cette possibilité existe (et pas seulement en C) et permet parfois de s'en sortir dans des cas complexes.
ps: (débutant != nigaud).
C'est comme interdire à un enfant d'utiliser un couteau, parce qu'il pourrait se couper, ou assassiner son voisin!
Nous sommes entourés d'ustensiles et d'engins qui, mal utilisés, sont dangereux mais qui, dans des conditions normales d'utilisation, sont inoffensifs : couteaux, ciseaux, prises électriques, etc.
L'utilisation du goto n'est pas recommandée, mais cette possibilité existe (et pas seulement en C) et permet parfois de s'en sortir dans des cas complexes.
ps: (débutant != nigaud).
si tu faisais de l'assembleur tu devrais faire une boucle avec une etiquette. en c tu dois utiliser la fonction while()
Bonjour,
Tout d'abord je tiens à signaler que je suis tout a fait d'accord avec ces messieurs sur le fait que pour faire boucler indefiniment un programme un for(;;) est bcp plus propre qu'un goto.
Par contre j'ai un dilem.
Actuellement j'utilise des fonctions qui me retourne classiquement 0 ou NULL et tout autre chose si vrai. Ces fonctions je les appelle dans un sous programme à moa et j'alloue toute sorte de pointeur à l'interieur et actuellement je n'ai rien trouvé de mieux que:
foo()
{
DWORD cbToto = 0;
BYTE *pbToto = NULL;
// toto si 1er param NULL, cbToto contient la taille à allouer
if (!toto(NULL, &cbToto)) goto end;
pbToto = (BYTE *)malloc(cbToto);
if (!toto(pbToto, &cbToto)) goto end;
// ici plein d'autre appelles de la sorte
end:
if (pbToto != NULL) { free(pbToto); pbToto = NULL; }
// ici liberation de toutes les allocs
}
Je ne vois pas comment faire plus lisible est plus simple que ca.
Si vous avez une idée ...
Pounch.
Tout d'abord je tiens à signaler que je suis tout a fait d'accord avec ces messieurs sur le fait que pour faire boucler indefiniment un programme un for(;;) est bcp plus propre qu'un goto.
Par contre j'ai un dilem.
Actuellement j'utilise des fonctions qui me retourne classiquement 0 ou NULL et tout autre chose si vrai. Ces fonctions je les appelle dans un sous programme à moa et j'alloue toute sorte de pointeur à l'interieur et actuellement je n'ai rien trouvé de mieux que:
foo()
{
DWORD cbToto = 0;
BYTE *pbToto = NULL;
// toto si 1er param NULL, cbToto contient la taille à allouer
if (!toto(NULL, &cbToto)) goto end;
pbToto = (BYTE *)malloc(cbToto);
if (!toto(pbToto, &cbToto)) goto end;
// ici plein d'autre appelles de la sorte
end:
if (pbToto != NULL) { free(pbToto); pbToto = NULL; }
// ici liberation de toutes les allocs
}
Je ne vois pas comment faire plus lisible est plus simple que ca.
Si vous avez une idée ...
Pounch.
Re,
article tres tres interessant sur le Goto.
http://articles.mongueurs.net/magazines/linuxmag72.html
article tres tres interessant sur le Goto.
http://articles.mongueurs.net/magazines/linuxmag72.html