#include <stdio.h>
#include <stdlib.h>
void sub(int (*p)[3]){
int i;
for(i=0;i<6;i++){
*(*p+i) = *(*p+i) * 2;
}
}
int main()
{
int a[2][3];
int (*p)[3]=a; //定义指针变量并赋初值
scanf("%d",a[0]) ; //输入a[0][0]的值,利用数组名表示a[0][0] (用下标法)
scanf("%d",a[0]+1) ; //输入a[0][1]的值,利用数组名表示a[0][1] (用指针法)
scanf("%d",&p[0][2]) ; //输入a[0][2]的值,利用指针变量表示a[0][2] (用下标法), 此处的指针变量是指向变量的
scanf("%d",*(p+1)) ; //输入a[1][0]的值,利用指针变量表示a[1][0] (用指针法), 此处的指针变量是指向变量的
scanf("%d",&p[1][1]) ; //输入a[1][1]的值,利用指针变量表示a[1][1] (用下标法), 此处的指针变量指向一维数组
scanf("%d",(*(p+1)+2)) ; //输入a[1][2]的值,利用指针变量表示a[1][2] (用指针法), 此处的指针变量指向一维数组
sub(a); //调用sub函数,使每个数据翻番
int i,j;
for(i=0;i<2;i++){
for(j=0;j<3;j++){
printf("%d ",*(*(p+i)+j));
}
}
/*for(p=a;p<12;p++) //输出所有数据,要求用最快的方法
printf("%d",*p); 错误*/
return 0;
}