浮点异常(核心转储)非常微弱
Floating point exception(core dumped) very wierd
我知道这个问题已经被问过了,但我还没有找到答案。这是我的代码:
#include <cstdio>
#include <vector>
using namespace std;
int a[510];
int main()
{
int n, p;
bool rez;
while(1)
{
p = 0;
rez = 1;
scanf("%d", &n);
if(n == -1) break;
for(int i = 0; i < n; i++) scanf("%d", &a[i]);
// printf("a");
for(int i = n-1; i >= 0; i--)
{
if((a[i]+p)%i)
{
rez = 0;
break;
}
p++;
}
if(rez) printf("Sn");
else printf("Nn");
}
return 0;
}
除测试用例外,所有测试用例都可以正常工作:4.1 1 3 0但是4.1 0 3 1作品同样在有问题的测试用例中,我插入了printf("a");但程序不打印它,这表明问题发生在该行之前。但是,如果我删除其余的代码,一切都会正常工作。
浮点异常不仅适用于浮点错误,也适用于整数除以0,包括取相对于0的模(作为πάΓτα-ῥεῖ在第一条评论中说)。您的i
循环确实向下迭代到零。一旦发生这种情况,即当break
语句没有为i
的先前值触发时,您将看到浮点异常。
相关文章:
- 分段故障(堆芯转储)矢量
- Cppcheck生成xml转储文件
- 如何找出GDB的SIGTRAP核心转储的根本原因
- C++映射分割错误(核心转储)
- 在c++中初始化矩阵时出现分段错误(核心转储)
- 在c++中键入向量中的所有值后,得到分段错误(核心转储)
- 浮点异常(核心转储)#694457
- 分段错误(核心转储)但无法弄清楚
- 链接到libkcapi时没有核心转储
- 检测到堆栈粉碎:已终止 中止(核心已转储)
- 正在处理故障(堆芯转储)
- 分段错误(核心转储) - 使用 SavedModel 的 Tensorflow C++ API 进行推断
- 我不知道为什么这段代码会让核心被转储?
- C++运行时错误与快速排序算法抛出堆栈转储错误
- 在基数排序中,我得到 munmap_chunk():无效指针和中止(核心转储).为什么?
- C++指针无法在函数外部传递值和分段错误(核心转储)错误
- cygwin_exception::open_stackdumpfile:将堆栈跟踪转储到 class4.exe.sta
- C++快速将 int 数组内容转储到文本文件中
- 合并排序:分段错误核心转储
- 浮点异常(核心转储)非常微弱