问个关于指针数组的问题
为什么形参用指针数组或者指向指针的指针,实参不能用二维数组名?为什么?求解释下原理,谢谢比如:这个程序
void main()
{char a[4][30];
char *m[4];
int i;
for(i=0;i<4;i++)
gets(a[i]);
for(i=0;i<4;i++)
m[i]=a[i];
void f(char *a[4]);
f(m);//为什么不能直接用f(a)
for(i=0;i<4;i++)
cout<<m[i];
}
void f(char *a[4])
{
int i,j;
char *t;
for(i=0;i<3;i++)
for(j=0;j<3-i;j++)
if(strcmp(a[j],a[j+1])>0)
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
[ 本帖最后由 大大猫 于 2011-10-13 21:57 编辑 ]