Что произойёт с целыми переменными
a,b после выполнения?a ^= b ^= a ^ = b;
1)
a станет равно 0?2)
a,b станут равны?3)
a,b поменяются значениями4)
b станет равно 0, а a станет равным b5) Undef behavior
6) Unspec behavior
Решение: очевидно будет Undefined behavior. Компилятор имеет право вычислять подвыражения в любом порядке, так как их порядок не задан стандартом. Он может начать с самого левого a ^= b, с самого правого a ^= b, или с середины. Результат будет разным в каждом из этих случаев.