Red de conocimientos sobre prescripción popular - Remedios caseros - int a = 2147483648; print(" %u ", a); ¿Por qué el resultado sigue siendo el número anterior? Obviamente este número excede el rango de datos de números enteros.

int a = 2147483648; print(" %u ", a); ¿Por qué el resultado sigue siendo el número anterior? Obviamente este número excede el rango de datos de números enteros.

Esto sólo significa que tienes suerte. Al realizar la asignación, la memoria detrás de A está vacía.

La sentencia de asignación asigna un número entero a la memoria.

Si utiliza %d salida, solo se toman 32 bits. Si usa %u, el resto se generará.

Pero si la memoria detrás del espacio int que no sea A no está vacía, o la memoria detrás de él cambia, se producirá un error.