scanf doesn't work for variables of type double
jsmng at csune.cs.uh.edu
jsmng at csune.cs.uh.edu
Fri Sep 15 10:58:35 AEST 1989
I used the following program trying to read in 5 numbers interactively.
As a test, I typed in 1.0 1.0 1.0 1.0 1.0 as input but the output is
about 0.47 (approximately I forget the exact value but it is far from 1).
When I changed the type of vec[] to be float. Everything is fine.
Does anyone have any experience with this? According to K&R, %f for
double should be allowed in scanf. We are running SunOS 4.0.1 and
I think our C compiler follows the K&R standards (as opposed to
ANSI).
#include <stdio.h>
#define V 5
main()
{
double vec[V];
int i;
for (i=0;i<V;i++)
scanf("%f ",&vec[i]);
for (i=0;i<V;i++)
printf("%f ",vec[i]);
}
More information about the Comp.lang.c
mailing list