我正在尝试用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];
答案 0 :(得分:1)
在循环中使用正确的条件
for(i=0; i<rows; i++)
和
for(j=0; j<cols; j++)