Рассмотрим эту программу:
#include <stdio.h>
int main(void)
{
    unsigned int a;
    printf("%u %u\n", a^a, a-a);
    return 0;
}
Это поведение undefined?
На первый взгляд, a - неинициализированная переменная. Таким образом, это указывает на поведение undefined. Но a^a и a-a равны 0 для всех значений a, по крайней мере, я думаю, это так. Возможно ли, что есть какой-то способ утверждать, что поведение хорошо определено?
