数组,for循环问题


#include<stdio.h>
main(){
    int i,a[5]={35,98,58,87,100},max1,max2;
    max1=max2=0;
    for(i=0;i<5;i++)
           printf("%4d",a[i]);
           printf("\n");
    for(i=1;i<5;i++){
        if(a[i]>a[max1]){
            a[max2]=a[max1];
            a[max1]=a[i];}
        else if(a[i]>a[max2])
             a[max2]=a[i];}
               printf("最大值为%d,次大值为%d",max1,max2);}
            
    
        

找出最大的值和第二大的值,请问这个程序输出的值为什么等于0?

兄弟,你的for循环里看到max1和max2的值发生变化了吗???

写的什么东西啊?max1和max2看起来应该是准备用来记下标的,但并没拿来用。按正常的排序方法进行排序不就好了吗?