函数参数传递错误 求解
#include<stdio.h>void fun1(int *p[],int n)
{
int i,j,min,t;
for(i=0;i<n-1;i++)
{
min=i;
for(j=i;j<n;j++)
{
if(p>p)
{
min=j;
}
if(min!=i)
{
t=*p;
*p=*p;
*p=t;
}
}
}
}
int main()
{
int n;
scanf("%d",&n);
int num;
int i;
for(i=0;i<n;i++)
{
scanf("%d",num);
}
fun1(num,n); //这句是错误的
for(i=0;i<n;i++)
{
printf("%d",num);
}
}
请问为啥错?他不是要传一个地址吗?变量名不就是首地址。怎么改? void fun1(int *p[],int n)这里的参数int *p[]是个指针数组,如果传数组进去的话,可以int *p或者 int p[] 动态数组必须调用函数才能用,你排序也是错的 不用函数的话,n必须是个确切的数,要不你就用sizeof
页:
[1]