作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不太了解C++,我也不明白为什么会出现这个错误: 浮点异常(核心转储)
我不知道该如何解决。
#include <iostream>
using namespace std;
int main() {
int a = 251;
int b = 0;
while (a > 0) {
a = a / 10;
b++;
}
int c = 2;
int d = 1;
while (c <= b) {
d = d * 10;
c++;
}
cout << d;
int answer = 0;
int f = d;
int g = 1;
float help;
while (b > 0) {
help = (a / (d * g)) *(d / f);
answer = answer + (int)help;
a = a % (d * g);
g = g * (1 / 10);
f = f * (1 / 10);
b--;
}
cout << answer;
return 0;
}
最佳答案
与直觉相反,“浮点异常”是当您尝试执行整数除以零时由您的 CPU 和/或操作系统踢出的异常。
C++ 使这个操作未定义;你的电脑完全禁止它。
当您使用调试器逐步执行程序时,请检查所有变量,并记住 1/10
是零,而不是 0.1,因为它是整数除法。 (此错误会传播到循环的下一次迭代,您会在该迭代中尝试使用此零值作为除数。)
将 float 除以零是更明确的定义,ISTR 将踢出特殊值inf。
关于c++ - 浮点异常(核心转储)#694457,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52890218/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!