Я не знаю, почему результат двух подпрограмм ниже:
int a , b;
a = 13, b=12;
(a > b)? (a++,b--):(a--,b++); // Now a is 14 and b is 11
a = 13, b=12;
(a > b)? a++,b-- : a--,b++; // Now a is 14 but b is 12
Однако для этих случаев результаты идентичны:
a = 13, b=12;
(a < b) ? a++,b-- : a--,b++; // Now a is 12 and b is 13
a = 13, b=12;
(a < b) ? (a++,b--) : (a--,b++); // Again a is 12 and b is 13
Почему скобки делают разницу для оператора после "?"
, но не имеют значения для оператора после ":"
? У вас есть идеи?