【发布时间】:2010-04-25 01:20:27
【问题描述】:
这是一个简单的问题,但我看不到:
字符 *s = "f 8.649292" ; 双 d ; sscanf( s, "f %f", &d ) ; printf("d 是 %f\n", d);为什么d 不包含双精度值8.649292?
【问题讨论】:
这是一个简单的问题,但我看不到:
字符 *s = "f 8.649292" ; 双 d ; sscanf( s, "f %f", &d ) ; printf("d 是 %f\n", d);为什么d 不包含双精度值8.649292?
【问题讨论】:
哦,等等,没关系。 d 必须是float。
为了让它发挥作用,你可以使用 %lf 作为双倍
【讨论】:
%lf 是使用scanf 扫描双精度所需的,但将%lf 与printf 一起使用是不正确的。只需使用%f。