Red de conocimientos sobre prescripción popular - Conocimiento del confinamiento - Debido a que A es una variable real y la asignación a=10 está permitida en el programa C, ¿se permite que la variable real almacene números enteros? ¿Por qué está mal?

Debido a que A es una variable real y la asignación a=10 está permitida en el programa C, ¿se permite que la variable real almacene números enteros? ¿Por qué está mal?

No importa qué valor se almacene en cada ubicación de memoria de la computadora. La clave es cómo los trata el compilador.

El compilador de C trata los datos reales como números de punto flotante, por lo que generará un código de máquina con operaciones de punto flotante para variables declaradas/definidas como tipos reales, por lo que cualquier tipo de variable se puede colocar libremente, pero Ya sea el compilador le permitirá expresar con éxito lo que desea expresar si es incierto.

Por ejemplo: char a; a = 1; y a = ' 1 '; Si asigna un valor literal plástico, el compilador lo codificará automáticamente en ascii y luego lo asignará. La otra es asignar un valor literal de carácter y el compilador utilizará el código ASCII directamente.

Para otro ejemplo; flotante a; a = 3.0 y a = 1; 3,0 y 1 son las denominaciones real y plástica respectivamente, que son solo un número almacenado en una unidad de almacenamiento. Diferentes métodos de uso producirán resultados diferentes. Por ejemplo, también es posible cambiar exe a bmp, pero puede resultar complicado.

Por favor, acepte si está satisfecho y pregunte si no está satisfecho.