#include <stdio.h>
/*********Begin*********/
void meths(int a[], int n, int *p) {
int i, maxi,max;
for (i = 1; i < n; i++) {
if (max < a[i])
max = a[i];
maxi=i;
}
p =&a[maxi];
}
/*********End**********/
int main(void) {
int n, s[110];
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &s[i]);
int ans;
/*********Begin*********/
int *k =s;
meths( s, n, k);
ans = *k;
/*********End**********/
printf("%d", ans );
return 0;
}
我原来想着函数meths是把最大值的地址赋给输入的指针 k;然后输出 *k;但是;比如输入数组a[5]={1,2,3,4,5}
为什么输出 *k 的值是 1 呢?请赐教。