当前位置: 代码迷 >> C语言 >> [求助]关于指向指针的指针
  详细解决方案

[求助]关于指向指针的指针

热度:48   发布时间:2007-11-12 09:45:12.0
[求助]关于指向指针的指针
哪里错了呀?
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
void sort(int **,int);
int a[20],i,n;
int *p,**pa;
printf("输入数据的长度:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",p+i);
pa=p;
sort(pa,n);
printf("排序后:\n");
for(i=0;i<n;i++)
printf("%d",**(pa+i));
system("pause");
}
void sort(int **p,int n)
{
int i,j,t;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(**(p+i)>**(p+j))
{
t=**(p+i);
**(p+i)=**(p+j);
**(p+j)=t;
}
}




搜索更多相关的解决方案: 指针  

----------------解决方案--------------------------------------------------------

已解决。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
void sort(int **,int);
int a[20],i,n;
int *p[20],**pa;
printf("输入数据的长度:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",a+i);
p[i]=a+i;
}
pa=p;
sort(pa,n);
printf("排序后:\n");
for(i=0;i<n;i++)
printf("%d",**(pa+i));
system("pause");
}
void sort(int **p,int n)
{
int i,j,t;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(**(p+i)>**(p+j))
{
t=**(p+i);
**(p+i)=**(p+j);
**(p+j)=t;
}
}





----------------解决方案--------------------------------------------------------
是不是运用指向指针的指针都得有一个数组指针呀?
----------------解决方案--------------------------------------------------------
  相关解决方案