【发布时间】:2018-10-19 10:07:16
【问题描述】:
我不太了解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;
}
【问题讨论】:
-
猜测
g或f变为0,这会让你除以零。 -
可能
help会溢出足够小的f值。使用调试器逐步找出答案。
标签: c++