ТТрокуроР
Сообщение
#88445 6.5.2013, 13:57
#define abs(x) ((x)<0 ? -(x) : (x)) - объясните пожалуйста эту формулу. Поясните, что обозначают эти знаки и элементы. Срочно надо!!
Sergio Ramos
Сообщение
#88458 10.5.2013, 5:42
как только в тексте программы встретится комбинация abs(x), то она автоматически будет интерпретироваться как ((x)<0 ? -(x) : (x)).
в ((x)<0 ? -(x) : (x)) проверяется условие: если х имеет отрицательное значение, то за скобку будет передан -х, иначе х.
например,
cout << abs(x); <=> cout << ((x)<0 ? -(x) : (x));
int a = 3 + abs(x); <=> int a = 3 + ((x)<0 ? -(x) : (x));