Программирование на C: замена двух значений без третьей переменной

Чтобы поменять местами два значения в C без использования третьей переменной, вы можете использовать различные методы. Вот некоторые часто используемые подходы:

Метод 1: использование арифметических операций

a = a + b;
b = a - b;
a = a - b;

Метод 2: использование побитовой операции XOR

a = a ^ b;
b = a ^ b;
a = a ^ b;

Метод 3: использование сложения и вычитания

a = a - b;
b = a + b;
a = b - a;

Метод 4. Использование указателей

*a = *a + *b;
*b = *a - *b;
*a = *a - *b;

Метод 5: использование обмена исключающим ИЛИ (XOR)

*a ^= *b;
*b ^= *a;
*a ^= *b;

Метод 6: использование арифметики указателей

*a = *a + *b;
*b = *a - *b;
*a = *a - *b;

Метод 7. Использование макроса

#define SWAP(a, b) ((a) ^= (b), (b) ^= (a), (a) ^= (b))
SWAP(a, b);

Метод 8: использование тернарного оператора

a = a + b;
b = a - b;
a = a - b;

Это всего лишь несколько примеров того, как можно поменять местами два значения без использования третьей переменной в C. Каждый метод имеет свои преимущества и недостатки, и выбор того, какой метод использовать, зависит от таких факторов, как читаемость, производительность, и личные предпочтения.