其中第四行的   (*p)[5]
——— 第四行是 int  (*p)[5],这个 int 不能省
scanf("%d",(*(p+i))+j) 
——— 就是 scanf("%d", &p[i][j] )
printf("%5d",*(*(p+i))+j)
——— 就是 printf("%5d", p[i][j] )										
					
	
	
	
	       程序代码:
程序代码:
#include <stdio.h>
int main(void)
{
    int a[3][5], (*p)[5]; // int (*p)[5] 是一个数组指针,本例用来方便地访问一个二维数组。
    p = &a[0];
    printf("输入三行五列整数:\n");
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 5; j++) {
            // scanf("%d", (*(p+i))+j );
            scanf("%d", &p[i][j]); // 这句和上面的等价
        }
    }
    p = &a[2];
    printf("第三行是:\n");
    for (int k = 0; k < 5; k++) {
        // printf("%d, ", *(*(p)+k));
        printf("%d, ", p[0][k]); // 这一句和上面的等价
    }
    puts("");
}
[此贴子已经被作者于2019-8-23 22:10编辑过]