Maybe i didn't understand correctly, but if you want to distinguish integer and double based on user input i think this code might help you:
Code:
#include <stdio.h>
int main (void)
{
int x = 0;
char buffer[10];
int i;
double xd = 0;
scanf ( "%s", buffer );
/* distinguish integers and doubles for further processing
and store them to appropriate variables */
for (i = 0; buffer[i] != '.' && buffer[i] != '\0'; i++);
if (buffer[i] == '\0')
{
sscanf (buffer, "%d", &x);
}
else
{
sscanf (buffer, "%lf", &xd);
}
printf("%s", buffer); /*display exactly as entered*/
return 0;
}
It will print as values as entered but it will distinguish integer input from double input.