简单的tc问题关于scanf的请大家指点一二太感谢了

jimgreen 2001-03-19 05:25:00
请大家看看我的程序有什么问题?

struct tdtr{
int d;
float jim;}clf[3];
main()
{
int i;
for(i=0;i<3;i++)
scanf("%d %f",&clf[i].d,&clf[i].jim);
getch();
}
编译时发生错误
floating point not linked
请高手指点一二.送上我的30分.这可是我能给的最高分.
...全文
180 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppchen 2001-04-19
  • 打赏
  • 举报
回复
运算符优先权问题,运算符“.”比运算符“&”优先权高。
然之。
lwd2k 2001-04-15
  • 打赏
  • 举报
回复
scanf("%d%f",&clf[i].d,&clf[i].jim);
//建议float改用double
jimgreen 2001-04-15
  • 打赏
  • 举报
回复
thanks all
superwolf 2001-04-01
  • 打赏
  • 举报
回复
这个问题确实好像是tc的bug,没有什么规律可言的,最好用中间变量。
jimgreen 2001-03-31
  • 打赏
  • 举报
回复
这里面没有一种可以解决问题的方法.
我发现如果写成这样可以解决问题但是,总觉的不爽
struct tdtr{
int d;
float jim;}clf[3];
main()
{
int i;
float tem;
for(i=0;i<3;i++)
scanf("%d %f",&clf[i].d,&clf[i].jim,&tem);
getch();
}
问题就离奇般的解决了,请各位再看一下;



brucegong 2001-03-21
  • 打赏
  • 举报
回复


scanf后面传入结构题的指针会有问题,这好像是tc,bc的bug.连提供的例程都有问题-------------你将bc31里面的例程里面与结构体里的float赋值无关的东西删掉,里程也就不对了。但是如果你先用指针指过去再通过指针赋值就没问题。


peterluolaw 2001-03-21
  • 打赏
  • 举报
回复
奇怪!真奇怪!
holyfire 2001-03-20
  • 打赏
  • 举报
回复
Options->Compiler->Advance code generation...
Float Point
不要选None
holyfire 2001-03-20
  • 打赏
  • 举报
回复
Options->Compiler->Advance code generation...
Float Point
不要选None
xrbeck 2001-03-20
  • 打赏
  • 举报
回复
恩。你用什么编译器?
我用BCB的CONSOLE工程挺正常的。。。
wowboy 2001-03-20
  • 打赏
  • 举报
回复
关注.
狐帝 2001-03-19
  • 打赏
  • 举报
回复
那时TC/BC的著名bug
只能引入中间变量,先在scanf中给中间变量赋值,然后用中间变量给结构成员赋值
joke100 2001-03-19
  • 打赏
  • 举报
回复
scanf("%d %f",&clf[i].d,&clf[i].jim);
改成
scanf("%d %f",&(clf[i].d),&(clf[i].jim));
如何???

其实为了使程序清晰易读,完全可以设置中间变量,把值读入中间变量再赋值.
并损失不了多少效率.

软件架构越清晰越好,
程序代码越简单越好...


eatfox 2001-03-19
  • 打赏
  • 举报
回复
你为什么要用地址操作符?

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧