2

我是新手程序员,所以请与我打交道。我正在编写一个程序来分析数据。当我执行程序时,我收到一个“浮点异常”,我不知道为什么。这是错误源自的代码部分。据我所知,该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++;
        }
      }
    }
  }
}
4

2 回答 2

1

尝试将 finalArray 声明为:

double finalArray[600][1];

看来原始声明没有为元素分配任何空间。

如果不尝试只分配一个像这样的一维数组:

double finalArray[600];

希望这可以帮助!

于 2012-10-14T01:18:05.050 回答
1

声明double finalArray[600][0]意味着数组是 600 个元素乘 0 个元素。我认为您希望第二维为 1。请记住,您需要声明行数和列数,但索引从 0 开始。

于 2012-10-14T01:19:09.050 回答