Hola gente de la comunidad tengo un problema con scanf.
Cuando hago esto funciona:
#include <stdio.h>
#include <ctype.h>
int main (){
float a='b';
int escaracter=0,terminar=0;
escaracter=(int)a;
terminar=isalpha(escaracter);
printf("terminar=%d\nescaracter=%d\na=%f\n",terminar,escaracter,a);
if(terminar!=0){
printf("ES CARACTER\n");
return 1;
}
printf("NO ES CARACTER\n");
return 0;
}
Pero cuando hago esto no:
#include <stdio.h>
#include <ctype.h>
int main (){
float a=0;
int escaracter=0,terminar=0;
printf("Ingrese NUMERO o CARACTER\n");
scanf("%f",&a);
escaracter=(int)a;
terminar=isalpha(escaracter);
printf("terminar=%d\nescaracter=%d\na=%f\n",terminar,escaracter,a);
if(terminar!=0){
printf("ES CARACTER\n");
return 1;
}
printf("NO ES CARACTER\n");
return 0;
}
No entiendo porque scaf("%f",&a); si le pongo un caracter no me guarda nada, me guarda cero, como si ubiera ingresado un cero (0).
Porfavor si me puede ayudar, muchas gracias.