| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7966 人关注过本帖
标题:为什么结果一闪而过?
只看楼主 加入收藏
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 
4楼的说法,好像是版主原创的。
不过楼上的说法,是我第一次看到。
不错。

2006-04-07 08:20
Lunar
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-4-6
收藏
得分:0 
感谢4楼的,我的也经常出现这个问题, 现在知道该怎么办了。原来还有sleep()这个函数啊
2006-04-07 13:04
shen2006
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-4-20
收藏
得分:0 
4楼

2006-05-04 17:17
djx20040701
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-20
收藏
得分:0 
getch();去掉不就可以了吗
2006-05-04 17:34
djx20040701
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-20
收藏
得分:0 
把getch();换成getchar();也行的 了
2006-05-04 17:41
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
除4楼高人好办法外,在下也提供一个“强迫TC连接浮点”的方法。这就是在你的源程序中加上下列“哑”代码
dummy( ){_turboFloat();}//别忘了下划线

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-04 18:07
luciferjx
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-4-24
收藏
得分:0 

认真做好我想做的事!
2006-05-05 01:08
lzrzhao
Rank: 1
来 自:BJ
等 级:新手上路
帖 子:37
专家分:5
注 册:2006-5-22
收藏
得分:0 

DOS程序在WINDOWS都是执行完就退出的
加一个getch()只是为了把执行结果暂时地显示在屏幕上


路漫漫其修远,吾将上下而求索
2006-05-22 15:50
my1286
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-15
收藏
得分:0 
以下是引用袋鼠在2005-7-27 16:20:00的发言:
我觉得楼上的说的不对,这个应该是使用scanf()函数时连接浮点库的问题,版主以前也发过帖子说过:

" 问题:
程序编译通过,但运行错误提示如下:
scanf : floating point formats not linked
Abnormal program termination

  
  这实际上与scanf()函数无关,是编译器的问题。
  原因很明确:没有链接浮点库。早期系统内存资源紧张,多维浮点数组占用内存量大(一维浮点数组就没有此问题),因此TC在编译时尽量不加入无关的部分,在没发现需要浮点转换程序时,就不在可执行程序中安装这个部分。而有时TC又不能正确识别实际上确实需要做浮点转换,因此就会出现上面错误。
解决的方法:告诉TC需要做浮点数的输入转换 "

对于这个程序,由于出现了上面的问题,运行时系统提示:
      scanf : floating point formats not linked
Abnormal program termination
在此之后系统就直接结束运行,所以屏幕一闪而过,验证:

#include "stdio.h"
#include "math.h"
main()
{ float a[3][3],sum=0;int i,j;

sleep(7); /* 程序在此停留7秒钟,以判断运行位置*/

for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("%f",sum);
getch();}

然后再运行一次就可以看到上次运行时系统提示的
scanf : floating point formats not linked
Abnormal program termination


解决:在sleep( )语句之前增加如下内容:
float b;

printf("Input a float number :\n");
scanf("%f",&b);

用来告诉TC需要做浮点数的输入转换,问题就可以解决了

4楼的朋友,我可不可以问你一下,这个加入float b;把b把入程序中有什么用啊?我百思不得其解..帮个忙


2006-05-22 16:52
huangtaomvp
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-23
收藏
得分:0 

用turboc3。0可以哈。。。。。


2006-06-05 22:02
快速回复:为什么结果一闪而过?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013396 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved