c语言求最大值和次大值,下文的代码有什么错误

定义一个有10个元素的整型一维数组a,输入10个无重复数据存于该一维数组,找出其中最大数和次大数,要求不用排序实现,用一个循环实现。
输入格式:
输入10个整数,空格间隔,赋值给数组a,系统保证输入的数据不重复。
输出格式:
输出两行,第一行为最大数,第二行为次大数。
#include<stdio.h>
int main()
{
int a[10],i,max=0,min=a;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
if(a[i]>max)
{
min=max;
max=a[i];
}
else if(a[i]>min)
{
min=a[i];
}
}
printf("%d\n",max);
printf("%d\n",min);
return 0;
}

min=a; 定义有问题