/* 用指向指针的指针的方法对n个整数排序并输出 。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出*/

#include <stdio.h>
#include <stdlib.h>


/* 用指向指针的指针的方法对n个整数排序并输出 。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出*/


int main(int argc, char *argv[]) {
void sort(int **p,int n);
int i,n,data[20],**p,*pstr[20];
printf("input n \n");
scanf("%d",&n);
for(i=0;i<n;++i)
{
pstr[i]=&data[i];
 
}

printf("input %d integer numbers:",n);
for(i=0;i<n;++i)
{
scanf("%d",pstr[i]);
}

p=pstr;
sort(p,n);
printf("Now,the sequence is :\n");
for(i=0;i<n;i++)
{
printf("%d ",*pstr[i]);
}
return 0;

}
void sort(int **p,int n)
{
   int i,j,*temp;
   for(i=0;i<n-1;i++) // 这里是n-1 而不是n 万分注意 
   {
    for(j=0;j<n-1-i;j++)
    {
    if(**(p+j)>**(p+j+1))
    {
    temp=*(p+j);
    *(p+j)=*(p+j+1);
*(p+j+1)=temp; 
    }
    }
   } 
}
阅读更多
个人分类: pointers to pointers
上一篇用指向指针的指针的方法对5个字符串排序并且输出 */
下一篇讲解指向指针的指针传值原理。
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭