Я знаю, что это старо, но вы также должны попробовать Zombie.js . Безголовый браузер, безумно быстрый и идеальный для тестирования!
Значение t2
зависит от приоритета оператора модуля %
, сложения +
и троичного оператора ?:
.
Полный список приоритетов операторов C можно найти, перейдя по по этой ссылке.
В вашем случае оператор модуля имеет наивысший приоритет, затем следует сложение и затем троичный оператор.
Случай 1: int t2=temp%100 + temp>99?2000:1900;
переписать для ясности как: int t2=(temp%100 + temp)>99 ? 2000 : 1900;
И это выражение: temp%100 + temp
равно 140, что больше 99, поэтому выражение имеет значение 2000
.
Случай 2: int t2=temp%100 + (temp>99?2000:1900);
temp
не является GreaterThan 99
, поэтому выражение равно 1900
и добавлено к temp%100
, в результате чего получается 1970
[1121 ]
Случай 3: int t2= temp>99?2000:1900 +temp%100;
temp
не является GreaterThan 99
, поэтому выражение равно 1900+70
, в результате чего в 1970 году
это это все порядок операций; *
и /
имеют приоритет над +
и -
, все операторы имеют приоритет.