指针和数组 遍历找maxmin没有结果

img

img


为什么没有结果以及warning
一定要先自定义函数吗
函数的类型有影响吗
为什么max=&a[0]会warning
以及为什么需要
max=a【0】

求解答

int *max = a[0]的写法是错误的。a[0]是一个值,不是指针啊
修改如下:

int  * max  = &a[0];
int  * min = &a[0];
for(int i=0;i<sizeof(a)/sizeof(int);i++)
{
    if(a[i] > *max)
        max  = &a[i];
    if(a[i] < *min)
        min = &a[i];
}
printf("max=%d,min=%d",*max,*min);

img

你就不是想打印最大值和最小值吗?
把 int *max 改成int max,min 也一样
把 max、min 看成要给普通的int 变量就行,不用那么复杂