结构体中浮点数输入问题(真心回答者请进,换编译器者不必回帖)
~~~~~~~~~~~~~~~~~~最近编了个结构体程序(win-tc),发现输入浮点数时会出错,在网上搜了几个解决方法,不能奏效。后来我发现,把scanf("%f",&a[i].x[j]);改为scanf("%.2f",&a[i].x[j]); 程序就可以运行下去了,但程序输出时就出现错误,全是0。00。
网上查了一下,发现有人用vc也会出现类似的问题。
期望众位能帮助解决一下,谢谢。
PFloat = &nFloat; [em09] [em06] float *PFloat,nFloat = 0.001;
PFloat = &nFloat;
这有什么意义呢?
0.001后面加个“f”即0.001f可以保留浮点的精度 楼上MM[em16] LS是本论坛的元老?好厉害啊 我本论坛泡妞元老[em12] [em10]
看得出来,你的确是本论坛一风流人物…… double 使用 %lf
float 使用 %f 不知道广陵写的结构体是什么样子,我试着模仿了一下:
[code]
#include <stdio.h>
#define M 2
typedef struct
{
float f[M];
}Test;
int main(void)
{
Test t[M];
int i, j;
for (i = 0; i < M; i++)
{
for(j = 0; j < M; j++)
{
scanf("%f", &t[i].f[j]);
}
}
for (i = 0; i < M; i++)
{
for(j = 0; j < M; j++)
{
printf("%10f", t[i].f[j]);
}
}
return 0;
}
[/code]
我这个是可以运行的。我用的是MinGW。 double 使用 %lf
float 使用 %f
------------------------
再补充一句,TC 3.1 前的版本有浮点数BUG // 一本书上看到的 你们继续谈论WIN_TC,好让我学习下WIN_TC
...~
up![tk10] [tk10]
[[it] 本帖最后由 菜鸟选手 于 2008-7-11 18:24 编辑 [/it]] 土软件的土bug [quote][bo][un]VxWorks[/un] 在 2008-7-11 18:55 的发言:[/bo]
土软件的土bug [/quote]
恩,TC是老土了。
现在我都用VS.net了 LS的是霉女否? ??? 美女么?[tk03] [em09] mqh21364怎么跑来C区来玩啊? 钓鱼[em09]
页:
[1]
2
