我有以下名为arr.c
..
unsigned long* arr[50];
unsigned long arrSizes[50];
unsigned short size = 0;
void add(unsigned long* x, int y){
arr[size] = x;
arrSizes[size] = y;
size++;
}
void print() {
int i,j;
i=0;
j=0;
for(;i<size;i++){
for(;j<arrSizes[i];j++)
printf("%lu ",arr[i][j]);
printf("\n");
}
}
它打印一个空行,它不是打印arr [2]。任何想法,为什么会发生这种情况?
答案 0 :(得分:1)
print
方法j
中的从0开始,但应该为i的每次迭代重置。 为什么不以正常的方式去做:
for(i = 0;i<size;i++){
for(j = 0;j<arrSizes[i];j++)