c语言中浮点类型数组赋值问题新解

c语言中浮点类型数组赋值问题新解

ID:11341129

大小:26.50 KB

页数:8页

时间:2018-07-11

c语言中浮点类型数组赋值问题新解_第1页
c语言中浮点类型数组赋值问题新解_第2页
c语言中浮点类型数组赋值问题新解_第3页
c语言中浮点类型数组赋值问题新解_第4页
c语言中浮点类型数组赋值问题新解_第5页
资源描述:

《c语言中浮点类型数组赋值问题新解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言中浮点类型数组赋值问题新解第7卷第2期2Oo7年4月金华职业技术学院V01.7No.2Apr.2007C语言中浮点类型数组赋值问题新解岳宗辉,吴跃飞,郑桂昌(聊城职业技术学院计算机系,山东聊城252000)摘要:在C语言编译器TURBOC2.0中,对浮点型数组赋值时会出现错误提示.许多参考资料中给出了相应的解决方法,但都是从应用级的角度来说的,本文从系统级来考虑,提出了问题的解决方法.关键词:浮点数;数组;浮点格式库;头文件中图分类号:TP314文献标识码:A文章编号:1671-3699(2007)07-0046-02NewSolutionofFloatArrayAssignmenti

2、nLanguageCYUEZong-hui,WUYue—fei,ZHENGGui—chang(TheComputerDepartmentofLiaochengVocationalandTechnicalCollege,Liaocheng252000,china)Abstract:WhenweassignvaluetoafloatarrayinTURBOCLanguagecompiler2.0,wewillfindwrongprompt.Manyreferencematerialshavegivencorrespondingsolutionsfromapplyingaspect.Thispap

3、erputsforwardasolutionfromthesystemleve1.Keyword:float;array;floatingpointformatslibrary;headfile引言在C语言中.利用TURBOC2.0编译器对多维浮点数组或含有浮点成员的结构体数组赋值时,用变量作下标从键盘或磁盘文件输入数据时就会出现"scanf:floatingpointformatsnotlinked.Abnormalprogramtermination"的提示,并且程序不能正常运行.这个提示信息意思是:scanf的浮点格式库没有链接,程序异常中止.在有的文章上指出这是C语言的一个BUG,并

4、且给出了相应的解决方法.但这些解决方法只是指出了如何来避免这个问题,并没有指出C语言出现这个问题的内在原因.或者指出了问题的内在原因,但没有解决如何从系统级来考虑进行修改.本文认为出现这种情况,并不是C语言的一个BUG,恰恰相反,这是TURBOC2.0对程序的一个优化技术,因为在TURBOC2.0开发时,操作系统使用的是DOS,存储资源紧缺,因此在编译时,尽量不加入无关部分.如果编译时,发现不需要做浮点数格式时,就不把这部分安装到可执行文件里.但有时在某些不确定的环境下,编译器不能确定是否需要浮点格式数,就会出现这种提示.现在计算机的存储可大大满足这种需求,为了使用编译器时不再出现这个问题,

5、可以不再考虑这种优化技术.本文是从系统级的方面考虑如何修改系统,使其它用户在使用TURBOC2.0编译器时,不用在程序中做任何修改就可以不出现这种提示.1问题的提出及传统解决方法下面先看两段代码段:代码段一:inti'j;floata[3][3];for(i.O;i<3;i++)f0r0=OIj<3.j++)scanf("%f",&a[i][j]);这个程序编译,连接都正常,但在运行时屏幕上却出现这样的提示:scanf:floatpointformatsnotlinkedAbnormalprogramtermination.提示信息说scarIf函数由于浮点格式库没有被连

6、接,程序不能正收稿日期:2007—03—05基金项目:2005山东省高等学校教学改革资助项目(B05059)作者简介:岳宗辉(1980一),男,山东聊城人,助教,主要从事计算机软件技术方向的教学与研究.第2期岳宗辉等:C语言中浮点类型数组赋值问题新解47常中止.代码段二:#include<stdio.h>structstudent{floatScore;);voidmain()【inti;structstudenta[10];for(i=0;i<10;i++)scanf("%f,,,&a[i].Score);)程序在运行时,也出现相同的问题.出现这种问题的原因就是因

7、为在文件进行编译时,没有链接浮点格式库.传统的解决方法大致有两种;第一种解决方法:在输入浮点数数组时.首先定义一个浮点型变量.把输人的值给这个浮点型变量,然后这个变量的值再赋值给数组元素.以代码段一为例:改正后的代码为:代码段一(修改后):inti'j;floata[31131,b;for(i_0;i<3;i++)f0rO=0.j<3Ij++){scanf("%f",&b1;a[il~l=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。