为什么c语言运行总有错误,c语言指针 编译正确 运行出现错误 为什么

c语言指针 编译正确 运行出现错误 为什么

答案:2  信息版本:手机版

解决时间 2019-10-06 16:57

已解决

2019-10-06 06:33

#includex=0,y=0;

void find(int *a,int n,int *max,int *maxpos,int *min,int *minpos)

{

for(n=1;n<10;n++)

{

if(*a{

*max=*(a+n);

*maxpos=n;

}

if(*a>*(a+n))

{

*min=*(a+n);

*minpos=n;

}

}

}

int main()

{

int array[10]={23,45,90,-9,43,90,4,2,-9};

int*max=&array[0];

int*min=&array[0];

int*maxpos=&x;

int*minpos=&y;

int n;

find(array,n,*max,*maxpos,*min,*minpos);

printf("max=%d, maxpos=%d, min=%d, minpos=%d\n",max,maxpos,min,minpos);

return 0;

}

最佳答案

2019-10-06 07:36

1. void find(int *a,int n,int *max,int *maxpos,int *min,int *minpos)定义的时候参数全是指针,

但是你再调用的时候find(array,n,*max,*maxpos,*min,*minpos); 这里传进去的参数全是 值

应该写成find(array,n,max,maxpos,min,minpos)

2.printf("max=%d, maxpos=%d, min=%d, minpos=%d\n",max,maxpos,min,minpos);这里输出的时候,max,maxpos...这些都是指针,要输出值得话得写成

printf("max=%d, maxpos=%d, min=%d, minpos=%d\n",*max,*maxpos,*min,*minpos)

PS:至于你定义的那个函数本身有没有问题,没有运行还不知道,但是看着感觉语法啥的很乱,调理不是很清楚,真心不明白你准备干嘛?

全部回答

1楼

2019-10-06 07:53

#include

#include

#include

#include //

void exchange(int *a,int *b,int n)

{

int i,c;

for(i=0;i

{

c=a[i];

a[i]=b[i];

b[i]=c; //不小心把

}

// return (a,b);

}

void main(void)

{

int *a,*b,i,n;

printf("please input length:\n");

scanf("%d",&n);

a =(int *)malloc(sizeof(int)*n);必须开辟空间,指针原来没空间的

b =(int *)malloc(sizeof(int)*n);

printf("please input shuzhu a:\n");

for(i=0;i

scanf("%d",&a[i]);

printf("please input shuzhu b:\n");

for(i=0;i

scanf("%d",&b[i]);

// (b,a)=exchange(a,b,n); //可能有问题

exchange(a,b,n);

for(i=0;i

printf("%d ",a[i]);

printf("\n");

for(i=0;i

printf("%d ",b[i]);

printf("\n");

getch();

}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值