
Comportamiento extraño del scanf
Publicado por Raúl (3 intervenciones) el 18/11/2016 13:50:09
Soy novato en lenguaje c y en programas de consola, hice este programa sencillo y noto que el scanf tiene un comportamiento raro cuando el dato que solicito es un char, el programa debe pedir dos números mostrar la suma y decir al usuario presiona cualquier tecla para hacer otra suma y s para salir, hago el recursivo mediante un do while pero cuando compilo y ejecuto el programa me pide los números y olímpicamente se salta el scanf de retorno/salida, se cicla medio raro, hice una prueba, cambio el dato char por int y digo al usuario presiona cualquier numero para ejecutar de nuevo y 3 para salir, no hay problema funciona muy bien entonces me hace pensar que el comportamiento errático lo genera el tipo char en conjunto con el scanf, ¿alguien que me oriente sobre lo que está pasando?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("cls");
int h,s;
char a;
do{
scanf("%d", &h);
scanf("%d", &s);
printf("suma %i \n",h+s);
printf("ejecutar de nuevo cualquier tecla, salir presiona s \n");
scanf("%c", &a);
system("cls");
} while (a !='s');
exit (0);
return 0;
}
Valora esta pregunta


0