Red de conocimiento informático - Computadora portátil - Problema de programación en lenguaje C Al ejecutar un bucle, aparecen caracteres confusos, ¿10? -22¿Qué pasa? Gracias.

Problema de programación en lenguaje C Al ejecutar un bucle, aparecen caracteres confusos, ¿10? -22¿Qué pasa? Gracias.

Este es un problema con la función getchar().

La función getchar sólo acepta un carácter, pero cuando escribes en la pantalla, normalmente introduces una letra y un retorno de carro. En este momento, hay dos caracteres en el búfer de entrada, uno es el carácter que acaba de ingresar y el otro es el carácter con valor de código ASCII 10. Este es un salto de línea. Entonces, la próxima vez que use la función getchar, lee las nuevas líneas restantes en el búfer sin pedirle que ingrese los caracteres, por lo que genera el resultado que ve.

Por lo tanto, si está seguro de que no se necesitan nuevas líneas, debe agregar una línea de getchar() para absorber las nuevas líneas restantes después de cada lectura de los datos requeridos.