鱼C论坛

 找回密码
 立即注册
查看: 941|回复: 3

[已解决]函数参数传递错误 求解

[复制链接]
发表于 2020-12-1 09:06:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>
  2. void fun1(int *p[],int n)
  3. {
  4.         int i,j,min,t;
  5.         for(i=0;i<n-1;i++)
  6.         {
  7.                 min=i;
  8.                 for(j=i;j<n;j++)
  9.                 {
  10.                         if(p[min]>p[j])
  11.                         {
  12.                                 min=j;
  13.                         }
  14.                         if(min!=i)
  15.                         {
  16.                                 t=*p[min];
  17.                                 *p[min]=*p[i];
  18.                                 *p[i]=t;       
  19.                         }
  20.                 }
  21.         }
  22. }
  23. int main()
  24. {
  25.         int n;
  26.         scanf("%d",&n);
  27.         int num[n];
  28.         int i;
  29.         for(i=0;i<n;i++)
  30.         {
  31.                 scanf("%d",num[i]);
  32.         }
  33.         fun1(num,n); //[color=Red][size=5]这句是错误的[/size][/color]
  34.         for(i=0;i<n;i++)
  35.         {
  36.                 printf("%d",num[i]);
  37.         }
  38. }
复制代码


请问为啥错?他不是要传一个地址吗?变量名不就是首地址。怎么改?
最佳答案
2020-12-1 09:29:02
void fun1(int *p[],int n)  这里的参数int *p[]是个指针数组,如果传数组进去的话,可以int *p或者 int p[]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-1 09:29:02 | 显示全部楼层    本楼为最佳答案   
void fun1(int *p[],int n)  这里的参数int *p[]是个指针数组,如果传数组进去的话,可以int *p或者 int p[]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-1 09:30:42 | 显示全部楼层
动态数组必须调用函数才能用,你排序也是错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-1 09:35:52 | 显示全部楼层
不用函数的话,n必须是个确切的数,要不你就用sizeof
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 02:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表