为什么c语言运行总有错误,c语言指针 编译正确 运行出现错误 为什么
【为什么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();
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯
推荐阅读
- 东南大学c语言题库,题集
- 没钱为什么要生孩子
- 我不是女王,为什么让我臣服
- [Hacker News 周报] 高性能 JS 运行时 Bun;Electron 轻量级替代品;自动探测 Web 应用内存泄漏
- 为什么他送不对礼物
- 我的生命为什么要跟别人请假()
- 0基础C语言保姆教学|C语言自学保姆教程——第一节--编译准备与第一个C程序
- 为什么读了一小半儿就读不下去了()
- 关于c语言逗号表达式的运算规则知识点
- 为什么都这样去找老板吵架,老板还是给他加工资()