Current location - Plastic Surgery and Aesthetics Network - Plastic surgery and beauty - int a = 2 147483648; Print ("%u", a); Why is the output still the number above? Obviously, this number is beyond the range of integer data.
int a = 2 147483648; Print ("%u", a); Why is the output still the number above? Obviously, this number is beyond the range of integer data.
It just means you're lucky. When assigning a value, the back of A's memory is just empty.

The assignment statement allocates integers to memory.

If %d output is used, only 32 bits are taken. If you use %u, the rest will be output.

However, if the memory behind the int space other than A is not empty, or the memory behind it has changed, an error will occur.