sscanf for double

时间:2010-04-25 01:20:27

标签: c scanf

这是一个简单的问题,但我看不到它:

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

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

为什么d不包含重复值8.649292

1 个答案:

答案 0 :(得分:17)

哦,等等,没关系。 d需要是float

要使其正常工作,您可以使用%lf作为双重

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

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