9
這是一個簡單的問題,但我不能看到它:sscanf的雙打
char *s = "f 8.649292" ; double d ; sscanf(s, "f %f", &d) ; printf("d is %f\n", d) ;
爲什麼d
不包含雙值8.649292
?
這是一個簡單的問題,但我不能看到它:sscanf的雙打
char *s = "f 8.649292" ; double d ; sscanf(s, "f %f", &d) ; printf("d is %f\n", d) ;
爲什麼d
不包含雙值8.649292
?
哦,等等,沒關係。 d需要是float
。
,並使其工作,你可以使用%lf
爲雙
char *s = "f 8.649292 " ; double d ; sscanf(s, "f %lf", &d) ; printf("d is %lf\n", d) ;
'%lf'需要掃描雙用'scanf',但它是不正確使用'和'printf'%lf' 。只需使用'%f'。 – 2010-08-06 17:19:07
@R .. [你的評論說明](http://stackoverflow.com/questions/210590/why-does-scanf-need-lf-for-doubles-when-printf-is-okay-with-just- F) – bobobobo 2013-11-15 21:02:07