Это - простая проблема, но я не вижу его:
char *s = "f 8.649292" ; double d ; sscanf( s, "f %f", &d ) ; printf( "d is %f\n", d ) ;
Почему d
не содержащий двойное значение 8.649292
?
Ой, подождите, неважно. d должен быть float
.
И чтобы заставить его работать, вы можете использовать % lf
для двойного
char *s = "f 8.649292 " ; double d ; sscanf( s, "f %lf", &d ) ; printf( "d is %lf\n", d ) ;