|
|
  |
Прояснение if-else if |
|
|
|
Jun 7 2015, 06:35
|
Профессионал
    
Группа: Участник
Сообщений: 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
|
|
|
|
|
Jun 7 2015, 07:01
|
Частый гость
 
Группа: Свой
Сообщений: 92
Регистрация: 24-07-12
Из: Екатеринбург
Пользователь №: 72 881

|
Цитата(Jenya7 @ Jun 7 2015, 12:35)  Выполниться ли второе условие. Нет конечно.
|
|
|
|
|
Jun 7 2015, 10:31
|
Профессионал
     
Группа: Модератор 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(), вопрос не имеет смысла.
|
|
|
|
|
Jun 7 2015, 10:44
|
Знающий
   
Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088

|
Цитата(l1l1l1 @ Jun 7 2015, 14:31)  пока мы не видим, какие действия над a производит Func1(), вопрос не имеет смысла. Какие бы действия Func1() ни произвела с a - в ветку else уже входа не будет, соответственно, не будет проверки второго условия и входа в Func2(). Единственный вариант выполнить Func2() - это дважды изменить а где-то вне этой ветки, в прерывании, например. Первый раз между присвоением a=8; и проверкой условия (а должно стать <= 1) и второй раз строго между входом в ветку else и проверкой второго условия (а должно стать > 100). Это практически невероятное поведение.
--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
|
|
|
|
|
Jun 7 2015, 20:40
|
Профессионал
     
Группа: Модератор FTP
Сообщений: 2 111
Регистрация: 29-12-05
Пользователь №: 12 684

|
Цитата(jcxz @ Jun 7 2015, 18:38)  Вы не правы. Пока мы не видим, что из себя представляет a, вопрос не имеет смысла  ... вы тоже правы. и хотелось бы точно знать, на каком именно ЯВУ написан код, и для какого компилятора. а то мало ли что...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|