CPP C++ logo

Внимание, согласно стандарта “x ^= y ^= x ^= y;” имеет UB.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
}