C++ 为什么会出现浮点异常错误?
我是一个新手程序员,所以请与我打交道。我正在写一个程序来分析数据。当我执行程序时,我收到一个“浮点异常”,我不知道为什么。下面是错误产生的代码部分。据我所知,C++ 为什么会出现浮点异常错误?,c++,arrays,floating-point-exceptions,C++,Arrays,Floating Point Exceptions,我是一个新手程序员,所以请与我打交道。我正在写一个程序来分析数据。当我执行程序时,我收到一个“浮点异常”,我不知道为什么。下面是错误产生的代码部分。据我所知,if语句似乎是问题所在,但我不明白为什么。非常感谢您能给予的任何帮助 double tArray[600][49]; void main() { double finalArray[600][0] double n = 0; int h = 0; try { for (int i = 0; i < 600;
if
语句似乎是问题所在,但我不明白为什么。非常感谢您能给予的任何帮助
double tArray[600][49];
void main() {
double finalArray[600][0]
double n = 0;
int h = 0;
try {
for (int i = 0; i < 600; j++) {
for (int j = 1; j < 16; j++) {
h++;
n = tArray[i][j * 3 - 1] - tArray[i][j * 3 - 2];
double t = -30;
if (n < t) {
finalArray[i][0] = tArray[h][3 * j] - tArray[h + t][3 * j];
h++;
}
}
}
}
}
double tArray[600][49];
void main(){
双尾声[600][0]
双n=0;
int h=0;
试一试{
对于(int i=0;i<600;j++){
对于(int j=1;j<16;j++){
h++;
n=tArray[i][j*3-1]-tArray[i][j*3-2];
双t=-30;
if(n
尝试将finalArray声明为:
double finalArray[600][1];
原始声明似乎没有为元素分配任何空间
如果没有,请尝试仅分配一维数组,如下所示:
double finalArray[600];
希望这有帮助 声明
double finalArray[600][0]
表示数组是600个元素乘以0个元素。我想你希望第二维度是1。请记住,您需要声明行数和列数,但索引从0开始。finalArray[i][0]
确实超出了范围。您在内部循环中递增“h”,然后将其用作tArray中的第一个索引-它将很快超过600。我们可以假设double finalArray[600][0]中缺少分号
只是一个输入错误,对不对?for(int i=0;i<600;j++)的j++
循环中的j++>是否是一个输入错误?try
块的作用是什么?这不是你真正的代码,是吗?乱七八糟。把书上告诉你要用的东西都扔掉。void main()
。它是intmain()
。