你这样写输出的b应该是5吧,b被用作循环了啊,每次都会改变,想输出正确的下标的话应该在再定义一个变量,比如说i,那么循环那里改成if(a[b]>max){max=a[b];i=b},输出那里改成printf("max=a[%d]=%d",i,max);加了点东西方便你看结果。
程序也只是输出了下标和它对应的值啊