#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。 相反,它产生的结果是infinity
或NaN
。 您可以检查这些都不是使用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