不太明白返回值return

这个地方输入p为2
int prime( int p )

{
int i;
if(p<2)
return 0;
for(i=2;i<p;i++)
{
if(p%i==0)
return 0;
else if (i==(p-1)&&p%(p-1)!=0)
return 1;
}
}
直接能返回真值return 1,有解释一下嘛,这个2确实进不去