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

 
 
> Прояснение if-else if
Jenya7
сообщение Jun 7 2015, 06:35
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Смотрю чужой алгоритм и понемногу схожу с ума.
В связи с этим вопрос. Выполниться ли второе условие. То есть увидим ли мы Func2().
Код
a=8;
if (a>1)
{
  Func1();
}
else if (a > 100)
{
   Func2();
}


Сообщение отредактировал Jenya7 - Jun 7 2015, 06:37
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
l1l1l1
сообщение Jun 7 2015, 10:31
Сообщение #2


Профессионал
******

Группа: Модератор FTP
Сообщений: 2 111
Регистрация: 29-12-05
Пользователь №: 12 684



Цитата(Jenya7 @ Jun 7 2015, 09:35) *
...
В связи с этим вопрос. Выполниться ли второе условие. То есть увидим ли мы Func2().
Код
a=8;
if (a>1)
{
  Func1();
}
else if (a > 100)
{
   Func2();
}

пока мы не видим, какие действия над a производит Func1(), вопрос не имеет смысла.
Go to the top of the page
 
+Quote Post
gerber
сообщение Jun 7 2015, 10:44
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(l1l1l1 @ Jun 7 2015, 14:31) *
пока мы не видим, какие действия над a производит Func1(), вопрос не имеет смысла.

Какие бы действия Func1() ни произвела с a - в ветку else уже входа не будет, соответственно, не будет проверки второго условия и входа в Func2().
Единственный вариант выполнить Func2() - это дважды изменить а где-то вне этой ветки, в прерывании, например. Первый раз между присвоением a=8; и проверкой условия (а должно стать <= 1) и второй раз строго между входом в ветку else и проверкой второго условия (а должно стать > 100). Это практически невероятное поведение.


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 16:55
Рейтинг@Mail.ru


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