12

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

  字符 *s = "f 8.649292" ;
  双 d ;
  sscanf( s, "f %f", &d ) ;

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

为什么d不包含双精度值8.649292

4

1 回答 1

20

哦等等,没关系。d 必须是 a float

为了让它发挥作用,你可以使用%lf双倍

  字符 *s = "f 8.649292" ;
  双 d ;
  sscanf( s, "f %lf", &d ) ;

  printf("d 是 %lf\n", d ) ;
于 2010-04-25T01:21:04.707 回答