-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メソッドでは0から始まりますjが、iの反復ごとにリセットする必要があります。通常の方法でやってみませんか:

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