c语言 floating point exception 问题~!!!急求~!!!!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 floating point exception 问题~!!!急求~!!!!!相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
int main(void)
int a,o_pj,j_pj;
int o_num=0,j_num=0,tmp=0,tmp1=0;
int sum=0,sum1=0;
printf("请输入一个整数:");
do
scanf("%d\n",&a);
switch(a%2)
case 0:
o_num++;
tmp=tmp+a;
sum=sum+tmp;
o_pj=sum/o_num;
break;
case 1:
j_num++;
tmp1=tmp1+a;
sum1=sum1+tmp1;
j_pj=sum1/j_pj;
break;
while(a != 0);
printf("偶数的个数是:%d\n",o_num-1);
printf("奇数的个数是:%d\n",j_num);
printf("偶数的平均数是:%d\n",o_pj);
printf("奇数的平均数是:%d\n",j_pj);
return 0;
//出现 floating point exception问题~怎么办 我代码有问题么???
仔细看看这句:
j_pj=sum1/j_pj;
j_pj初始值=??
说实在话,这个程序的错误太多了,变量名不规范,多余的除法,边界错误……,慢慢学习吧。 参考技术B scanf("%d",&a);应该是这种格式,引号里边不要加\n 参考技术C j_pj=sum1/j_pj;
后面应该不是j_pj 吧,都没赋初值 参考技术D 这里面错误好低级,,建议你好好学习,,
Floating-point environment (Numerics) – C 中文开发手册 - Break易站
[Floating-point environment (Numerics) - C 中文开发手册
浮点环境是实现支持的一组浮点状态标志和控制模式。它是线程本地的,每个线程都从父线程继承其浮点环境的初始状态。浮点操作修改浮点状态标志以指示异常结果或辅助信息。浮点控制模式的状态会影响某些浮点运算的结果。只有当#pragma STDC FENV_ACCESS设置为ON时,浮点环境访问和修改才有意义。 否则,实现可以自由地假定浮点控制模式总是默认的,并且浮点状态标志从不被测试或修改。 实际上,目前很少有编译器(如HP aCC,Oracle Studio和IBM XL)明确支持#pragma,但大多数编译器都允许有意义地访问浮点环境。
类型
| 在头文件<fenv.h>中定义 ||:----|| fenv_t | 表示整个浮点环境|的类型| fexcept_t | 表示所有浮点状态标志的类型统称为|
功能
feclearexcept(C99) | 清除指定的浮点状态标志(函数) |
---|---|
fetestexcept(C99) | 确定哪个指定的浮点状态标志被设置(功能) |
feraiseexcept(C99) | 引发指定的浮点异常(函数) |
fegetexceptflagfesetexceptflag(C99)(C99) | 将指定的浮点状态标志的状态从浮点环境(函数)复制到浮点环境 |
fegetroundfesetround(C99)(C99) | 获取或设置舍入方向(功能) |
fegetenvfesetenv(C99) | 保存或恢复当前的浮点环境(功能) |
feholdexcept(C99) | 保存环境,清除所有状态标志并忽略所有将来的错误(功能) |
feupdateenv(C99) | 恢复浮点环境并引发以前引发的异常(函数) |
宏
FE_ALL_EXCEPTFE_DIVBYZEROFE_INEXACTFE_INVALIDFE_OVERFLOWFE_UNDERFLOW (C99) | floating-point exceptions (macro constant) |
---|---|
FE_DOWNWARDFE_TONEARESTFE_TOWARDZEROFE_UPWARD (C99) | floating-point rounding direction (macro constant) |
FE_DFL_ENV (C99) | default floating-point environment (macro constant) |
参考
C11标准(ISO / IEC 9899:2011): 7.6浮点环境<fenv.h>(p:206-215) 7.31.4浮点环境<fenv.h>(p:455) C99标准(ISO / IEC 9899:1999): 7.6浮点环境<fenv.h>(p:187-196)
扩展内容
| 用于浮点环境的C ++文档 ||:----|
??C 语言中文开发手册以上是关于c语言 floating point exception 问题~!!!急求~!!!!!的主要内容,如果未能解决你的问题,请参考以下文章
C++编程的时候提示Floating point exception
fluent中计算出现floating point exception是啥原因怎么解决
Floating-point environment (Numerics) – C 中文开发手册 - Break易站
电脑上出现floating point division by zero是怎么回事