不执行for循环的最后一行&完成后不退出 - C.

时间:2013-04-28 05:12:15

标签: c opengl for-loop

我正在尝试用OpenGL编写一个程序,它接收一个高度列表(高度图)并吐出一个景观。我在阅读地图时遇到了一个问题。我将下面的代码作为我的循环来读入并将值存储在数组中(高度)。它编译得很好并且运行但是它在循环的最后一次迭代中被挂起,它将打印出所有内容,直到i =行的点并且它不打印出“读取行完成”并且只是挂起。

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];

1 个答案:

答案 0 :(得分:1)

在循环中使用正确的条件

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

for(j=0; j<cols; j++)