реклама на сайте
подробности

 
 
> приоритеты математических и логических операций
demiurg_spb
сообщение Aug 20 2009, 16:31
Сообщение #1


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Код
static const uint8_t X_MAX = 100;
uint8_t x;
uint8_t y;

y = (x < X_MAX)? (x+1):x;    // 1
y = x + ((x < X_MAX)? 1:0);  // 2
y = x + (x < X_MAX)? 1:0;    // 3

Первый и второй варианты верны, третий - нет.
Видимо играют роль приоритеты математических и логических операций.
Кому не сложно прокомментируйте. Спасибо!


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Aug 20 2009, 16:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(demiurg_spb @ Aug 20 2009, 18:31) *
Кому не сложно прокомментируйте. Спасибо!

Не вижу никаких причин комментировать. Операция условия имеет самый низкий приоритет из перечисленных ниже только у присваивания. Возьмите букварь K&R, ознакомьтесь, и примите принятые Авторами языка уровни приоритета, как даденность.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th September 2025 - 10:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016