Parenthèses, dans une macro, autour d'une valeur numérique
4 réponses
Thoma
Bonjour,
Je cherche à me rafraichir la mémoire. Un jour, quelqu'un m'a convaincu
qu'il était utile de mettre des parenthèses autour d'une valeur
numérique si elle était définie par une macro. Par exemple,
#define ZERO (0) /* Juste pour l'exemple */
Par contre, je ne me rappelle absolument plus de la justification.
Pourriez-vous me donner une raison, si elle existe bien évidemment ?
Le 08/02/09 17:09, dans <gmn03q$9rc$, « Xavier Roche » a écrit :
Eric Levenez a écrit :
Pourriez-vous me donner une raison, si elle existe bien évidemment ?
Faq §13.17
Oui mais non, pas pour une simple valeur numérique. Dans ce cas particulier il n'y a amha aucun interêt à parenthéser.
Dans ce cas, oui, mais je pensais que l'OP parlait d'une valeur numérique en général, et donc quelque chose comme 1 + 2.
-- Éric Lévénez FAQ de fclc : <http://www.levenez.com/lang/c/faq/>
Charlie Gordon
"Eric Levenez" a écrit dans le message de news: C5B4C38D.E20CA%
Le 08/02/09 17:09, dans <gmn03q$9rc$, « Xavier Roche » a écrit :
Eric Levenez a écrit :
Pourriez-vous me donner une raison, si elle existe bien évidemment ?
Faq §13.17
Oui mais non, pas pour une simple valeur numérique. Dans ce cas particulier il n'y a amha aucun interêt à parenthéser.
Dans ce cas, oui, mais je pensais que l'OP parlait d'une valeur numérique en général, et donc quelque chose comme 1 + 2.
Les parentheses sont inutiles pour une simple valeur numérique en effet, mais elles sont nécessaires pour les expressions numériques comme tu le fais remarquer. Certaines expressions unaires comme +2 ou -1 sont souvent interprétées par le lecteur non averti comme de simples valeurs numériques. Ces expressions doivent être parenthésées pour éviter une mauvaise expansion dans certains cas tordus (laissés au soin du lecteur à titre d'exercice ;-). Donc il faut parenthéser les "valeurs négatives" comme toutes les autres expressions.
"Eric Levenez" <usenet@levenez.com> a écrit dans le message de news:
C5B4C38D.E20CA%usenet@levenez.com...
Le 08/02/09 17:09, dans <gmn03q$9rc$2@news.httrack.net>, « Xavier Roche »
<xroche@free.fr.NOSPAM.invalid> a écrit :
Eric Levenez a écrit :
Pourriez-vous me donner une raison, si elle existe bien évidemment ?
Faq §13.17
Oui mais non, pas pour une simple valeur numérique. Dans ce cas
particulier il n'y a amha aucun interêt à parenthéser.
Dans ce cas, oui, mais je pensais que l'OP parlait d'une valeur numérique
en
général, et donc quelque chose comme 1 + 2.
Les parentheses sont inutiles pour une simple valeur numérique en effet,
mais elles sont nécessaires pour les expressions numériques comme tu le fais
remarquer. Certaines expressions unaires comme +2 ou -1 sont souvent
interprétées par le lecteur non averti comme de simples valeurs numériques.
Ces expressions doivent être parenthésées pour éviter une mauvaise expansion
dans certains cas tordus (laissés au soin du lecteur à titre d'exercice ;-).
Donc il faut parenthéser les "valeurs négatives" comme toutes les autres
expressions.
"Eric Levenez" a écrit dans le message de news: C5B4C38D.E20CA%
Le 08/02/09 17:09, dans <gmn03q$9rc$, « Xavier Roche » a écrit :
Eric Levenez a écrit :
Pourriez-vous me donner une raison, si elle existe bien évidemment ?
Faq §13.17
Oui mais non, pas pour une simple valeur numérique. Dans ce cas particulier il n'y a amha aucun interêt à parenthéser.
Dans ce cas, oui, mais je pensais que l'OP parlait d'une valeur numérique en général, et donc quelque chose comme 1 + 2.
Les parentheses sont inutiles pour une simple valeur numérique en effet, mais elles sont nécessaires pour les expressions numériques comme tu le fais remarquer. Certaines expressions unaires comme +2 ou -1 sont souvent interprétées par le lecteur non averti comme de simples valeurs numériques. Ces expressions doivent être parenthésées pour éviter une mauvaise expansion dans certains cas tordus (laissés au soin du lecteur à titre d'exercice ;-). Donc il faut parenthéser les "valeurs négatives" comme toutes les autres expressions.