数组最大值的位置--指针做函数参数
前面函数部分是已经给定的问题是运行函数的返回值是不对的 数据读的是正确的
希望友友们看看问题出在哪里
#include <stdio.h>
int max(int *p,int n)
{
int i,k=0;
for(i=1;i<n;i++)
if(p<p)//p等价于*(p+k)
k=i;
return k;
}
int main()
{
int *p,a,n,k;
for(p=a;p<a+10;p++)//从键盘输入10个数
scanf("%d",p);
for(p=a;p<a+10;p++)
printf("%d,",*p);
printf("\n");
k=max(p,10);
printf("%d\n",k);
printf("最大值为:%d,位置为第%d个",a,k+1);
printf("\n");
return 0;
} 本帖最后由 jackz007 于 2021-3-30 13:47 编辑
k=max(a,10);// 不可以用 p,因为 p 指向的是 & a,而不是 & a。
页:
[1]