#include <stdio.h>
#define abs(x) x > 0 ? x : -x
int main(void) {
printf("%d\n", abs(abs(3 - 5)));
return 0;
}
Pourquoi le programme au-dessus de la sortie 8 et non 2 alors que le programme ci-dessous sort 2?Pourquoi ce programme sort-il 8?
#include <stdio.h>
int abs(int x) {
return x > 0 ? x : -x;
}
int main(void) {
printf("%d\n", abs(abs(3 - 5)));
return 0;
}
Modifier '#define abs (x) x> 0? x: -x' à '#define abs (x) ((x)> 0? (x): - (x))' – ouah
Le programme [sorties négatives 8] (http://ideone.com/H434lj), pas 8. – dasblinkenlight
J'ai récemment remarqué que j'ai posté le code que j'ai changé, si l'expression était '#define abs (x) (x> 0? x: -x)' alors il serait [sortie positive huit] (http: // ideone.com/7WY5Ie), @dasblinkenlight, merci d'ailleurs. –