下面程序通过指向整型变量的指针将数组m[4][3]的内容按4行3列的格式输出,请给printf( )填入适当的参数,使之通过指针p将数组元素按要求输出。 #include { int m[4][3]={{1,2,3},{4,5,6),{7,8,9),{10,1l,12}}; int i,j,*P=m; for(i=0;i<4;i++) { for(j=0;j<4;j++) printf(“%4 dll,______); printf(“n”); } }
【正确答案】正确答案:*(*(p+i)+j)
【答案解析】解析:指针变量P指向包含4个整型的一维数组,若将二维数组名m赋给P,P+i表示第i行首地址,*(p+i)表示第i行第0列元素的地址,此时将行指针转换成列指针,*(p+i)+j表示第i行第j行元素的地址,而*(*(p+i)+j)代表第i行第j列元素的值。