El código no es mio, sino una mera traducción a C de algo que vi en otro foro, espero te sirva.
Un saludo.
Por problemas de la precisión que tiene el tipo float, podria llegar a dar que un numero es decimal, cuando es entero. Lo mismo con el codigo de karman.Código
#include <stdio.h> int main() { int n; int f = 0; // Flag float num; while (f == 0) { n = (int)num; if ((n - num) == (float)0) { f = 1; break; } else { f = 0; } } return 0; }
Un saludo.
Lo mejor q se puede hacer en este caso es leer el input como un string, validar que sea lo que quiere, y despues, en caso de que sea valido, realizar las conversiones que correspondan.