sscanf для удваивается

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

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

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

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

9
задан bobobobo 25 April 2010 в 01:20
поделиться

1 ответ

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

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

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

  printf( "d is %lf\n", d ) ;
17
ответ дан 4 December 2019 в 12:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: