Sscanf для парных - PullRequest
       5

Sscanf для парных

9 голосов
/ 25 апреля 2010

Это простая проблема, но я ее не вижу:

  char *s = "f 8.649292" ;
  double d ;
  sscanf( s, "f %f", &d ) ;

  printf( "d is %f\n", d ) ;

Почему d не содержит двойное значение 8.649292?

1 Ответ

17 голосов
/ 25 апреля 2010

Ой, подождите, неважно. d должно быть float.

И чтобы это сработало, вы можете использовать %lf для двойного

  char *s = "f 8.649292 " ;
  double d ;
  sscanf( s, "f %lf", &d ) ;

  printf( "d is %lf\n", d ) ;
...