首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-02-22 
请问有谁可以帮忙解决这问题吗?#include stdio.hintf(intx){inti,k0,lif(x2)l1elseif(x 2){for(i

请问有谁可以帮忙解决这问题吗?
#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;
}

热点排行