См. Название. 1==(int)0.5*2
оценивает значение false, но 1==((int)0.5*2)
оценивает true. Однако (1==(int)0.5)*2
дает ошибку, поэтому первое выражение не анализируется как это. Как-то дополнительные скобки в 1==((int)0.5*2)
меняют приоритет приведения и умножения.1 == (int) 0.5 * 2 => false, 1 == ((int) 0.5 * 2) => true, почему?
Что именно вызывает это? И это должно произойти или это ошибка синтаксического анализа?
Я понимаю, как выражения оцениваются, поэтому мой вопрос заключается в том, почему дополнительный набор круглых скобок в '1 == ((int) 0.5 * 2) вызывает разницу в оценке. – JanKanis