1

我正在尝试使用 OpenGL 编写一个程序,该程序接受一个高度列表(高度图)并吐出一个风景。我在阅读地图时遇到了问题。我将下面的代码作为循环读取并将值存储在数组(高度)中。它可以正常编译并运行,但它在循环的最后一次迭代中被挂起,它会打印出一切正常,直到 i=rows 并且它不会打印出“read in row finish”并且只是挂断。

printf("reading in the height map\n");
for(i=0; i < rows; i++){
   printf("read in row start\n");
   for(j=0; j < cols; j++){
      scanf("%f", &cur_height);
      heights[point].x = j;
      heights[point].y = i;
      heights[point].z = cur_height;
      point++;
      printf("%d %d\n",j, cols);
   }
   printf("%d\n", point);
   printf("read in row finish");
}

编辑:另外,作为一个额外的上下文高度是一个数组或点,声明为:

#define NUM_POINTS 202750
typedef struct point_type{
   float x, y, z;
} pt_t;
pt_t heights[NUM_POINTS];
4

1 回答 1

1

在循环中使用正确的条件

for(i=0; i<rows; i++)

for(j=0; j<cols; j++)
于 2013-04-28T05:32:43.040 回答