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.