c语言精选试题----指针(进阶)

Posted 敲代码的xiaolang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言精选试题----指针(进阶)相关的知识,希望对你有一定的参考价值。

希望c语言的入门者们闲暇之余,可以浏览思考,有什么问题欢迎留言或者私信。

指针(强化版)

eg.利用指针指向指针的方法,对n个整数进行排序,要求由小到大输出,要求调用函数。(指针指向指针)

#include<stdio.h>
int main() 
{
  void sort(int **p,int n);  
  int i,n,shuzu[20],**p,*p_shuzu[20]; 
  printf("输入要排序的个数:");
  scanf("%d",&n); 
  for(i=0;i<n;i++)
  {
    p_shuzu[i]=&shuzu[i]; //将第i个整数的地址赋予指针数组P_shuzu的第i个元素 
  }
  printf("输入这%d个数:",n);
  for(i=0;i<n;i++)
  {
    scanf("%d",p_shuzu[i]);//输入要排序的数 
  }
  p=p_shuzu;
  sort(p,n); 
  printf("输出结果:\\n");
  for(i=0;i<n;i++)
  {
    printf("%d ",*p_shuzu[i]);//输出排序后的结果 
  }
  printf("\\n");
  return 0;
}
void sort(int **p,int n)//定义排序函数 
{
  int i,j,*temp; 
  for(i=0;i<n-1;i++)
  {
    for(j=i+1;j<n;j++)
    {
      if(**(p+i)>**(p+j))//比较之后交换的整数地址 
      { 
        temp=*(p+i);
        *(p+i)=*(p+j);
        *(p+j)=temp;
      }
    }
  }
}

运行结果
在这里插入图片描述
有问题私聊博主或者在下面留言,如果有更好的解法也请留言,欢迎大家讨论,共同进步,一起学习。

c语言是最美的语言,c语言让我遇见了这个世界的美好。”

以上是关于c语言精选试题----指针(进阶)的主要内容,如果未能解决你的问题,请参考以下文章

c语言精选试题----指针(基础)

指针的这些知识你知道吗?C语言超硬核指针进阶版3w+字详解+指针笔试题画图+文字详细讲解

c语言精选试题----结构

C语言篇 + 指针进阶练习 + qsort模拟实现(回调函数思想) + 指针和数组笔试题

c语言精选试题----数组

c语言精选试题----函数