|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2007, 17:16 | #1 |
Новичок
Джуниор
Регистрация: 17.12.2007
Сообщений: 2
|
Объясните, пожалуйста смысл строки - res=d.year > year ? -1: (d.year < year? 0:1)
res=d.year > year ? -1: (d.year < year? 0:1)
Сия строчка взята с программы написанной на языке Си. Программа работает, ошибок нет. Это условие. Вот только как оно работает я не знаю. Пожалуйста, объясните. ЗЫ: в данной ситуации поиск не рулит, ибо даже понятия не имею как можно найти ответ на такой вопрос в поиске. Вот полностью процедура: int dates::cmp(dates d) { int res; res=d.year > year ? -1: (d.year < year? 0:1); if(res) return res; res=d.mon > mon ? -1: (d.mon < mon ? 0:1); if(res) return res; return d.day > day ? -1: (d.day < day ? 0:1); } Заранее спасибо. |
17.12.2007, 17:34 | #2 |
Форумчанин
Регистрация: 10.12.2007
Сообщений: 158
|
Оператор
(условие) ? (знач.1) : (знач.2) В любом выражении, если условие верно, используется знач.1, если ложно - знач.2. Напр. максимум из 2х чисел a и b записывается так - (a>b)?a:b Ещё пример - перевод числа в 16ричн. систему. Код:
Код:
Последний раз редактировалось theos; 17.12.2007 в 17:36. |
17.12.2007, 17:50 | #3 |
Новичок
Джуниор
Регистрация: 17.12.2007
Сообщений: 2
|
Cпасибо, очень благодарен.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В чем смысл жизни? | NNN | Свободное общение | 76 | 14.07.2008 21:16 |
В Edit - Inicial и Year в соответствии с выбранной записью в комбобоксе | Колян12 | БД в Delphi | 2 | 26.05.2008 03:49 |
Объясните пожалуйста | TheHerd | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 04.04.2008 21:33 |