c/c++语言开发共享如何检查c中是否有除零

#include void function(int); int main() { int x; printf("Enter x:"); scanf("%d", &x); function(x); return 0; } void function(int x) { float fx; fx=10/x; if(10 is divided by zero)// I dont know what to put here please help printf("division by zero is not allowed"); else printf("f(x) is: %.5f",fx); } 

     #include void function(int); int main() { int x; printf("Enter x:"); scanf("%d", &x); function(x); return 0; } void function(int x) { float fx; if(x==0) // Simple! printf("division by zero is not allowed"); else fx=10/x; printf("f(x) is: %.5f",fx); } 

    这应该做到这一点。 在执行除法之前,您需要检查除零。

     void function(int x) { float fx; if(x == 0) { printf("division by zero is not allowed"); } else { fx = 10/x; printf("f(x) is: %.5f",fx); } } 

    默认情况下,在UNIX中,浮点除零不会使程序停止exception。 相反,它产生的结果是infinityNaN 。 您可以检查这些都不是使用isfinite发生的。

     x = y / z; // assuming y or z is floating-point if ( ! isfinite( x ) ) cerr << "invalid result from division" << endl; 

    或者,您可以检查除数不为零:

     if ( z == 0 || ! isfinite( z ) ) cerr << "invalid divisor to division" << endl; x = y / z; 

    使用C99,您可以使用fetestexcept(2)等。

    需要了解更多c/c++开发分享如何检查c中是否有除零,也可以关注C/ C++技术分享栏目---计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享如何检查c中是否有除零相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/979038.html

      (0)
      上一篇 2021年12月12日
      下一篇 2021年12月12日

      精彩推荐