No encuentro las palabra para detallar el problema que tenes, pero pasa en que en
c se guarda el ENTER y se pasa de largo el
scanf. Vas a encontrar una mejor explicación
aquí:
Código C++:
Ver original#include <stdio.h>
int main(){
//declarar variables:
long int a;
float b;
char c;
//pedir datos de las variables(input/output)
//de la variable entera
printf("Dame un valor numerico para a\n"); //%d-> el tipo de datos que se va a introducir/&a->en nombre de la varible.
//de la variable flotante
printf("Dame un valor decimal para b\n"); //%f-> el tipo de datos que se va a introducir/&b->en nombre de la varible.
//de la variable caracter
printf("Dame una letra para c\n"); //%c-> el tipo de datos que se va a introducir/&c->en nombre de la varible.
//se imprimen los datos introducidos
printf("El valor de la variable de tipo entero es: %d\n",a
); printf("El valor de la variable de tipo flotante es: %g\n",b
); printf("El valor de la variable de tipo caracter es: %c\n",c
);
return 0;
}
La solución sería colocar un espacio en blanco en el
scanf que lee el carácter, para que se pase de largo el
enter que quedo en el buffer al ingresar el número decimal.
Saludos.