C 指向数组的最小值和最大值的指针

C 指向数组的最小值和最大值的指针,c,C,我试图编写一个程序,其中有两个指针指向100值数组的最小值和最大值。为什么它会给我错误 #include <stdio.h> int main(void){ int array[100], i; for(i=0; i<100; i++) array[i]=i; int *ptr1, *ptr2, flag=0; ptr1 = &array[0]; ptr2 = &array[0]; while(!

我试图编写一个程序,其中有两个指针指向100值数组的最小值和最大值。为什么它会给我错误

#include <stdio.h>

int main(void){
    int array[100], i;
    for(i=0; i<100; i++)
        array[i]=i;
    int *ptr1, *ptr2, flag=0;
    ptr1 = &array[0];
    ptr2 = &array[0];
    while(!flag){
        for(i=0;i<100;i++){
            if(*ptr1 > array[i]){
                ptr1 = &array(i);
                break;
            }else if(*ptr2 < array[i]){
                ptr2 = &array(i);
                break;
            }
        }
        if(i==100)
            flag=1;
    }

    printf("%d %d", *ptr1, *ptr2);
}
#包括
内部主(空){
int数组[100],i;
对于(i=0;i

ptr1 = &array(i);
应更正为

ptr1 = &array[i];
政府也是如此

ptr2 = &array(i);

编写数组(i)时,你想完成什么?你需要
&array[i]
而不是
&array(i)
。投票以打字错误结束。@aschepper我太笨了。谢谢你,我不明白你为什么在
循环时将
for
循环包装在
循环中,或者为什么有
break
语句。