问答详情
源自:4-2 内存管理

求大神,哪里错了?

#include<stdio.h>

int main()

{

int x[3][3], i, j;

int *px = x;

for (i=0; i<9; i++)

{

*px++=i; //此处指针所指向的地址已经发生改变

}

printf ("输出二维数组的值为:\n");

for (i=0; i<3;i++)

{

for (j=0; j<3;j++)

{

printf ("%d\t", x[i][j]);

}

printf ("\n");

}

printf ("使用指针输出二维数组的值为:\n");

*px = x; //初始化指针变量px

for (i=0; i<9; i++)

{

if (i%3 == 0)

{

printf ("\n");

}

printf ("%d\t", *px++);

}

printf ("\n");

return 0;

}


提问者:qq_愿时光安好_04050009 2017-01-07 00:14

个回答

  • Acharon
    2017-01-07 14:07:01

    int *px = &x[0][0];

    ...

    px = &x[0][0]; //初始化指针变量px

    类型错误