Bonjour à toutes et à tous,

J'ai créé un macro qui retourne toute variable dans sa valeur absolue.

La compilation se passe bien, mais la variable reste négative... je ne saisis pas l'erreur...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
#ifndef __MY_MACROABS__
 
#define MY_MACROABS(a) (((a) < 0) ? -(a) : (a))
 
int     main()
{
    int a = -123;
 
    MY_MACROABS(a);
    printf("\nA : %d\n\n", a);
 
    return 0;
}
 
#endif
Voilà le retour dans le terminal

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
xxxxx_x@XxxxXxxx:~/rendu/test-my_macroABS$ ./a.out
 
A : -123
Merci d'avance pour votre aide.