使用fscanf读取浮点数输入

8
我正在阅读一个包含以下内容的文本文件:
Mary 55334422 24.90 56.6 45.68

我正在阅读它,并且是用的语言是:
....char name[20]; int num; double worked; double rate; double total;....

fscanf(fp, "%s %d %f %f %f\n", name, &num, &worked, &rate, &total);

我能得到名字和整数,但浮点数却变成了类似于-9522999990000000000000000000.00的东西。我做错了什么吗?
3个回答

15

5

尝试使用lf而不是f来解析为双精度变量:

fscanf(fp, "%s %d %lf %lf %lf\n", name, &num, &worked, &rate, &total);

1

将你的双精度数改为单精度数,或者将你的格式改为%lf


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接