
Внимание, согласно стандарта “x ^= y ^= x ^= y;” имеет UB.
int main()
{
int x = 10;
int y = 99;
printf("x: %d, y: %d\n", x, y);
x ^= y ^= x ^= y;
printf("x: %d, y: %d\n", x, y);
return 0;
}
int main()
{
int x = 10;
int y = 99;
printf("x: %d, y: %d\n", x, y);
x ^= y ^= x ^= y;
printf("x: %d, y: %d\n", x, y);
return 0;
}
int main() { int x = 10; int y = 99; printf("x: %d, y: %d\n", x, y); x ^= y ^= x ^= y; printf("x: %d, y: %d\n", x, y); return 0; }