gpt4 book ai didi

c++ - 浮点异常(核心转储)#694457

转载 作者:行者123 更新时间:2023-11-30 04:55:51 26 4
gpt4 key购买 nike

我不太了解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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com