Объясните логику тернарного оператора в данном примере

if( i!= 0? i%2 ==0: false) 
  //...... 

В данном примере получается 2 проверки на верность идёт? Если значение i не равно 0,то даст true, и выполняется выражение

i%2 == 0

Но если оно не делится без остатка, то в этом выражении false,? И перейдет к значению , т.е выражению под номер 3.

false

Или если в выраж 2 false то к 3 выражению мы не переходим?


Ответы (1 шт):

Автор решения: CrazyElf

Вообще это в точности соответствует такому оператору if:

if (i != 0 && i%2 == 0)
...

Зачем было так запутывать логику - непонятно. Обычно true и false нет необходимости писать при вычислении булевой логики. Условие либо выполняется, либо не выполняется.

→ Ссылка