, Вы должны использовать это:

рал следующую программу:

#include <stdio.h>

int main(void) {
    int a = 3;
    int b = 42;

    printf("a = %d\nb = %d\n", a, b);

    printf("Exchanging values.\n");
    a ^= b ^= a ^= b;

    printf("a = %d\nb = %d\n", a, b);

    return 0;
}

и это нормально. Когда я пытаюсь скомпилировать это, я получаю это:

$ gcc test.c -o test -Wall -Wextra -ansi -pedantic-errors
test.c: In function ‘main’:
test.c:11: warning: operation on ‘a’ may be undefined

Это в значительной степени стандартный код, не так ли?

Почему это вызывает предупреждение? Насколько я знаю, поразрядный XOR реализован по умолчанию дляint до тех пор, пока вы используете стандартную реализацию C.

Большое спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос