我有这个问题。我手动初始化了下面代码中注释的数组,并且我想要一个函数来执行此操作,无论值是多少。我无法执行此操作,当我在函数末尾打印时,所有内容均为0。对此有任何想法吗?
GLubyte *createGraphIndices(int size){
GLubyte * graphIndices = malloc(size * sizeof(GLubyte));
int i;
for(i = 0; i < (size/2)-1; ++i){ // até
graphIndices[i] = i;
}
for(i = (size/2)-1; i < size-2; ++i){ // até
graphIndices[i] = i;
}
for(i = 0; i < size; ++i){ // até
fprintf(stderr, "%f\n", graphIndices[i]);
}
return graphIndices;
}
// GLubyte graphIndices[] = {
//
// 0,1,
// 1,2,
// 2,3,
// 3,4,
// 4,5,
// 5,6,
// 6,7,
// 7,8,
// 9,10,
// 10,11,
// 11,12,
// 12,13,
// 13,14,
// 14,15,
// 15,16,
// 16,17
// };
最佳答案
您正在将它们打印为浮点数
fprintf(stderr, "%f\n", graphIndices[i]);
您应该将它们打印为整数
fprintf(stderr, "%d\n", graphIndices[i]);