请教有哪位高手可以帮忙解决这有关问题吗

请问有谁可以帮忙解决这问题吗?
#include <stdio.h>
int   f(int   x)
{int   i,k=0,l;
if(x==2)
l=1;
else   if(x> 2)
{for(i=2;i <x;i++)
if(x%i==0)
{k=i;
break;
}
if(k!=0)
l=0;
else   l=1;
return   l;
}
}
void   main()
{int   x,e;
scanf( "%d ",&x);
e=f(x);
if(e==0)
printf( "x不是素数。 ");
else   printf( "x是素数。 ");
}


\判断素数.cpp(17)   :   warning   C4715:   'f '   :   not   all   control   paths   return   a   value

这是什么意思?怎样改?谢谢!

------解决方案--------------------
return l写在}之外就行了,你这样的话只有ELSE语句返回正确的l值,即修改如下:
int f(int x)
{
int i,k=0,l;
if(x==2)
l=1;
else if(x> 2)
{
for(i=2;i <x;i++)
if(x%i==0)
{
k=i;
break;
}
if(k!=0)
l=0;
else l=1;
}
return l;
}