全局数组不存储值

时间:2012-11-30 22:30:05

标签: c

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

1 个答案:

答案 0 :(得分:1)

print方法j中的

从0开始,但应该为i的每次迭代重置。 为什么不以正常的方式去做:

for(i = 0;i<size;i++){
 for(j = 0;j<arrSizes[i];j++)