#include <iostream>
using namespace std;
void output_Subscript(int p[ ][4],int n);
void output_Line(int p[ ][4],int n);
void output_Column(int *p,int n);
int main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
cout<<"(1)下标法进行二维数组输出"<<endl;
output_Subscript(a,3);
cout<<"(2)行指针法进行二维数组输出"<<endl;
output_Line(a,3);
cout<<"(3)列指针法进行二维数组输出"<<endl;
output_Column(a[0],12);
return 0;
}
void output_Subscript(int p[ ][4],int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
cout<<p[i][j]<<" ";
cout<<endl;
}
}
void output_Line(int p[ ][4],int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
cout<<*(*(p+i)+j)<<" ";
cout<<endl;
}
}
void output_Column(int *p,int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<*(p+i)<<" ";
if((i+1)%4==0)
cout<<endl;
}
}