Bonjour,

Je veux créer une macro qui transforme le contenu de son paramètre en sa valeur absolue.

Une solution qui marche est la suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
#define ABS(x) (((x) < 0) ? -(x) : (x))
Mais cette solution (qui pour moi veux dire la même chose ne fonctionne pas .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
#define ABS(Value) if (Value>=0)\
                        Value=Value;\
                    else if (Value<0)\
                        Value*=-1;
J'aimerais comprendre pourquoi.

Merci