Код
#include <stdbool.h>
int main()
{
bool B;
B = 13; //B = 1
B = !B; //B = 0
unsigned char* Ptr;
Ptr = (unsigned char*)(&B);
*Ptr = 13; //B = 13
bool B2;
B2 = B; //B2 = 12
B2 = !B; //B2 = 13
return 0;
}
Почему при присваивание непосредственно числа все нормально ( B = 13 ), а при присваивании другово bool ( B2 = B ) мусор остается?
Так и должно быть?