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。按照现在的方式,[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 回答