#include <stdio.h>
#define abs(x) x > 0 ? x : -x
int main(void) {
printf("%d\n", abs(abs(3 - 5)));
return 0;
}
Почему программа выше выводит 8, а не 2, а программа ниже выводит 2?
#include <stdio.h>
int abs(int x) {
return x > 0 ? x : -x;
}
int main(void) {
printf("%d\n", abs(abs(3 - 5)));
return 0;
}
#define abs(x) x > 0 ? x : -x
на#define abs(x) ((x) > 0 ? (x) : -(x))
- person ouah   schedule 14.04.2017#define abs(x) (x > 0 ? x : -x)
, тогда оно вывело бы положительную восьмерку, @ dasblinkenlight, кстати, спасибо. - person Mehmet Eren Aldemir   schedule 14.04.2017