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问题~怎么办 我代码有问题么???

参考技术A 错误是普遍的……
仔细看看这句:
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易站

[
  • ??C 语言中文开发手册

    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 语言中文开发手册
    ]
    转载请保留页面地址:https://www.breakyizhan.com/c-3/27317.html

    以上是关于c语言 floating point exception 问题~!!!急求~!!!!!的主要内容,如果未能解决你的问题,请参考以下文章

    C++编程的时候提示Floating point exception

    fluent中计算出现floating point exception是啥原因怎么解决

    Floating-point environment (Numerics) – C 中文开发手册 - Break易站

    电脑上出现floating point division by zero是怎么回事

    C# 无法从 'float' 转换为 'Microsoft.Xna.Framework.Point'

    Floating-Point Hazard (数学)