#include<stdio.h>
int max(N[],int n);
int main()
{
int N[10]={1,4,2,7,3,12,5,34,5,9};int pos;int *p;
p=N;
max(p,10);
printf("The max is:%d,position is:%d\n",N[pos],pos);
return 0;
}
int max(N[],int n)
{
int pos=0;
for(int n=1;n<10;n++)
if(N[n]>N[pos]) pos=n;
return(pos);
}
我不知道怎么改。。。已经改了很多次了。。不知哪里错了。求大神帮帮忙。
求C语言程序指错。
好的,谢谢建议。不过可以说说"返回去的值没有赋值"是什么意思吗?pos经过for循环下来不就是最大元素的下标吗?
追答你应该从0下标开始循环,然后比对 pos的值和数组N中每一个值,如果大的就把N中的那个值赋值给pos,然后返回pos就可以了,好好想想
追问这里的pos是用来存数组中最大元素的下标的。不可以吗?
这里的pos是用来存数组中最大元素的下标的。不可以吗?
本回答被提问者和网友采纳