Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Помогите с программой

Автор: ТТрокуроР 6.5.2013, 13:57

#define abs(x) ((x)<0 ? -(x) : (x)) - объясните пожалуйста эту формулу. Поясните, что обозначают эти знаки и элементы. Срочно надо!!

Автор: Sergio Ramos 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));

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)