有关scanf()函数的问题(三)

xjyr 2005-12-21 10:41:15
编个程序对float型 a[3][4]二维数组输入12个数再把它输出
哈哈 简单吧!

本人编写如下
main()
{
int i,j;
float a[3][4];

for(i=0; i<3; i++)
for(j=0; j<4; j++)
scanf("%f",&a[i][j]);
printf("The a[3][4] is:\n");
for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
printf("%f ",a[i][j]);
printf("\n");
}

getch();
}
无warning 无error
但结果显示是:
scanf: floating point format not linked
Abnormal program termination

敬请诸位高手指教!

注: 本人系统Win2000 软件Tc2.0
...全文
157 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
FlyingSnow0311 2005-12-26
  • 打赏
  • 举报
回复
怎么楼主发了贴都不回去看帖呢,在(2)不是回答了你吗
believetruelove 2005-12-25
  • 打赏
  • 举报
回复
谢谢megaboy,让小弟又多知道了一些.
xjyr 2005-12-25
  • 打赏
  • 举报
回复
谢谢 megaboy
谢谢大家了
csucdl 2005-12-24
  • 打赏
  • 举报
回复
似乎没问题,vc下
haoranisme 2005-12-24
  • 打赏
  • 举报
回复
megaboy说的很有道理,一般程序员用gets()和atoi(),atof()等代替scanf()。
shu_yoyo 2005-12-23
  • 打赏
  • 举报
回复
我用c-free和dec-c++编译通过
megaboy 2005-12-23
  • 打赏
  • 举报
回复
这是tc2.0 scanf函数的一个bug。tc2.0设计的时候,为了提高效率和节省空间,如果程序没有使用浮点计算,那么浮点运算模块是不会被加载的,但是scanf函数在检测用户浮点意图方面有些缺陷,没有能很好地检测用户的意图,因此会出现这种“错误”。

解决的办法,就是在程序中显示地出现浮点运算,但不能仅仅赋值,例如在 float a[3][4];之后加一句a[0][0]=cos(0.0);就OK了。
pandali 2005-12-23
  • 打赏
  • 举报
回复
程序无误,不知道你是不是输入数字的时候出错误了。每个数字间应该有空格分开或者敲回车分开。 如果这样操作肯定会出现学要的结果
pandali 2005-12-23
  • 打赏
  • 举报
回复
哈哈。楼上的你真晕。
haoranisme 2005-12-23
  • 打赏
  • 举报
回复
不好意思,上面当我没说。
haoranisme 2005-12-23
  • 打赏
  • 举报
回复
去掉scanf中&a[i][j]的"&"试一试。
Rick_ang 2005-12-21
  • 打赏
  • 举报
回复
编译通过运行通过没发现问题

69,382

社区成员

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

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