【发布时间】:2021-07-22 04:32:49
【问题描述】:
编译时出错:错误 - [因信号终止:ABORT TRAP (6)]
#include <iostream>
using namespace std;
int main()
{
int j, r = 2, p = 1;
int v[8];
for (j = 0; j < 8; j++)
{
v[j - p] = 3 * j - r;
p = -p;
r = r - p;
}
for (j = 0; j < 8; j++)
cout << v[j] << " ";
}
【问题讨论】:
-
当 j = 0 时你认为会发生什么?
-
您使用的是什么编译器以及如何编译此代码?它在这里编译:ideone.com/r4CyuA也许你编译成功并且出现运行时错误?
-
@RetiredNinja 是 CodeRunner,这里是 link
-
@xluci.fr 您的评论并没有说明一切,如果您更正代码,例如使用
for (j = 1; j < 8; j++),它仍然会发生吗?而不是j = 0? -
尝试使用GCC 编译为
g++ -Wall -Wextra -g
标签: c++ arrays for-loop undefined-behavior