-1

我有以下名为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]。任何想法,为什么会发生这种情况?

4

1 回答 1

1

在您的print方法j中从 0 开始,但应该为 i 的每次迭代重置它。为什么不按正常方式进行:

for(i = 0;i<size;i++){
 for(j = 0;j<arrSizes[i];j++)
于 2012-11-30T22:36:48.587 回答