Red de conocimientos sobre prescripción popular - Remedios caseros - ¿Por qué el código en lenguaje C ingresa en un bucle infinito al ingresar tipos de punto flotante y números enteros?
¿Por qué el código en lenguaje C ingresa en un bucle infinito al ingresar tipos de punto flotante y números enteros?
scanf("%d ", a);
Aquí, scanf detectará si la entrada del usuario es un número entero. Si es un número entero, leerá el contenido asignado del búfer. De lo contrario, no se asignará a A, por lo que eso es lo que ingresó el usuario.
Permanecerá en el búfer, lo que provocará que la próxima vez que scanf lea, debido a que hay algo en el búfer, leerá directamente desde el búfer y el resultado aún no coincidirá, y aún permanecerá en el búfer.
Almacenamiento en búfer, eso es todo. Durará para siempre. Entonces crea un bucle infinito.