Bonjour,
Je voudrais savoir si la norme du C spécifie l'ordre d'interprétation des différentes conditions dans un if.
Je m'explique, si je fais : if (!empty && is_valid() ), est-ce que la fontion is_valid() va être executé, puis la variable empty examinée, ou le contraire ? D'après moi, c'est de gauche à droite, comme dans l'évaluation de toute expression, mais j'aimerais avoir la confirmation ;)
L'ordre d'évaluation ne dépends ici que de l'opérateur "&&" qui observe les
expressions de gauche à droite. Voir règles d'associativité.
Où vois-tu de l'associativité dans
a && b
?
-- Horst
Je comprends pas ta question, tu souhaitais me dire que j'avais tort ?
Si oui, merci de me dire sur quel point. Les remarques simples sans justifications ne m'étant d'aucune utilité. Je sors ça d'un livre et je ne pense pas qu'ils se soient trompés. J'ai un tableau avec tous les opérateurs qui est composé de colonnes : "Opérateur", "Signification", "Priorité", "Associativité".
L'ordre d'évaluation ne dépends ici que de l'opérateur "&&" qui observe
les
expressions de gauche à droite.
Voir règles d'associativité.
Où vois-tu de l'associativité dans
a && b
?
--
Horst
Je comprends pas ta question, tu souhaitais me dire que j'avais tort ?
Si oui, merci de me dire sur quel point. Les remarques simples sans
justifications ne m'étant d'aucune utilité.
Je sors ça d'un livre et je ne pense pas qu'ils se soient trompés.
J'ai un tableau avec tous les opérateurs qui est composé de colonnes :
"Opérateur", "Signification", "Priorité", "Associativité".
L'ordre d'évaluation ne dépends ici que de l'opérateur "&&" qui observe les
expressions de gauche à droite. Voir règles d'associativité.
Où vois-tu de l'associativité dans
a && b
?
-- Horst
Je comprends pas ta question, tu souhaitais me dire que j'avais tort ?
Si oui, merci de me dire sur quel point. Les remarques simples sans justifications ne m'étant d'aucune utilité. Je sors ça d'un livre et je ne pense pas qu'ils se soient trompés. J'ai un tableau avec tous les opérateurs qui est composé de colonnes : "Opérateur", "Signification", "Priorité", "Associativité".
Dans l'article <bhg7ep$18c0$, "Frédéri MIAILLE" écrit:
Je comprends pas ta question, tu souhaitais me dire que j'avais tort ? Si oui, merci de me dire sur quel point. Les remarques simples sans justifications ne m'étant d'aucune utilité. Je sors ça d'un livre et je ne pense pas qu'ils se soient trompés. J'ai un tableau avec tous les opérateurs qui est composé de colonnes : "Opérateur", "Signification", "Priorité", "Associativité".
L'associativité n'est importante que quand tu as deux opérateurs:
a && b && c
Ce n'était pas le cas ici.
-- Vincent Lefèvre - Web: <http://www.vinc17.org/> - 100% validated (X)HTML - Acorn Risc PC, Yellow Pig 17, Championnat International des Jeux Mathématiques et Logiques, TETRHEX, etc. Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Dans l'article <bhg7ep$18c0$1@biggoron.nerim.net>,
"Frédéri MIAILLE" <bobranger_no_spam@wanadoo.fr> écrit:
Je comprends pas ta question, tu souhaitais me dire que j'avais tort ?
Si oui, merci de me dire sur quel point. Les remarques simples sans
justifications ne m'étant d'aucune utilité.
Je sors ça d'un livre et je ne pense pas qu'ils se soient trompés.
J'ai un tableau avec tous les opérateurs qui est composé de colonnes :
"Opérateur", "Signification", "Priorité", "Associativité".
L'associativité n'est importante que quand tu as deux opérateurs:
a && b && c
Ce n'était pas le cas ici.
--
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> - 100%
validated (X)HTML - Acorn Risc PC, Yellow Pig 17, Championnat International
des Jeux Mathématiques et Logiques, TETRHEX, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Dans l'article <bhg7ep$18c0$, "Frédéri MIAILLE" écrit:
Je comprends pas ta question, tu souhaitais me dire que j'avais tort ? Si oui, merci de me dire sur quel point. Les remarques simples sans justifications ne m'étant d'aucune utilité. Je sors ça d'un livre et je ne pense pas qu'ils se soient trompés. J'ai un tableau avec tous les opérateurs qui est composé de colonnes : "Opérateur", "Signification", "Priorité", "Associativité".
L'associativité n'est importante que quand tu as deux opérateurs:
a && b && c
Ce n'était pas le cas ici.
-- Vincent Lefèvre - Web: <http://www.vinc17.org/> - 100% validated (X)HTML - Acorn Risc PC, Yellow Pig 17, Championnat International des Jeux Mathématiques et Logiques, TETRHEX, etc. Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Yves ROMAN
In 'fr.comp.lang.c', Raphael Marinier wrote:
Je voudrais savoir si la norme du C spécifie l'ordre d'interprétation des différentes conditions dans un if. Je m'explique, si je fais : if (!empty && is_valid() ), est-ce que la fontion is_valid() va être executé, puis la variable empty examinée, ou le contraire ? D'après moi, c'est de gauche à droite, comme dans l'évaluation de toute expression, mais j'aimerais avoir la confirmation ;)
C'est une FAQ non?
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/
Oui : 10.8 Mais un exemple classique serait peut-être le bienvenu; Du genre if ((ptr != NULL) && (*ptr != 0))
In 'fr.comp.lang.c', Raphael Marinier <marinier.raphael@free.fr> wrote:
Je voudrais savoir si la norme du C spécifie l'ordre d'interprétation
des différentes conditions dans un if. Je m'explique, si je fais : if
(!empty && is_valid() ), est-ce que la fontion is_valid() va être
executé, puis la variable empty examinée, ou le contraire ? D'après moi,
c'est de gauche à droite, comme dans l'évaluation de toute expression,
mais j'aimerais avoir la confirmation ;)
C'est une FAQ non?
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/
Oui : 10.8
Mais un exemple classique serait peut-être le bienvenu; Du genre
if ((ptr != NULL) && (*ptr != 0))
Je voudrais savoir si la norme du C spécifie l'ordre d'interprétation des différentes conditions dans un if. Je m'explique, si je fais : if (!empty && is_valid() ), est-ce que la fontion is_valid() va être executé, puis la variable empty examinée, ou le contraire ? D'après moi, c'est de gauche à droite, comme dans l'évaluation de toute expression, mais j'aimerais avoir la confirmation ;)
C'est une FAQ non?
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/
Oui : 10.8 Mais un exemple classique serait peut-être le bienvenu; Du genre if ((ptr != NULL) && (*ptr != 0))