12

これは単純な問題ですが、私には見えません:

  char *s = "f 8.649292" ;
  ダブル d ;
  sscanf( s, "f %f", &d ) ;

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

ddouble 値が含まれていないのはなぜ8.649292ですか?

4

1 に答える 1

20

待って、気にしないで。d は a である必要がありますfloat

%lfそして、それを機能させるために、ダブルに使用できます

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

  printf( "d は %lf\n", d ) ;
于 2010-04-25T01:21:04.707 に答える