1

これが私のコードです:

int main() { 
    int x, y; 
    int *xptr, *yptr; 
    int array[10][10]; 
    int j; 
    int k; 
    int z = 0; 

    for(j = 0; j < 10; j++) { 
        for(k = 0; k < 10; k++) { 
            array[j][k] = j * 10 + k; 
        } 
    } 

    xptr = &array[0][0]; 

    for(j = 0; j < 10; j++) { 
        for(k = 0; k < 10; k++) { 
            printf("array[%d][%d] = %d \n", j, k, *(xptr + j), (xptr + k)); 
        } 
    } 

    system("PAUSE"); 
}

[0][0] で 0、[9][9] で 99 になるように 2 次元配列を初期化しようとしています。現在の方法では、[0][0-9] はすべて等しくなります。 0 と [1][0-9] はすべて 1 です。前述の方法でこの配列を適切にロードするにはどうすればよいでしょうか。

4

2 に答える 2

0
for(j = 0; j < 10; j++) {
      for(k = 0; k < 10; k++) {
            array[j][k] = j*10 + k;
      }
}
于 2012-09-19T22:45:03.470 に答える
0

実際にすべてを宣言したと仮定していますが、例には含まれていません。あなたは単に欲しい

array[j][k] = j*10 + k;

于 2012-09-19T22:45:16.280 に答える