基本上我无法摆脱最后一个括号"error control reaches end of non-void function"
// DEFINE FUNCTION is_prime() HERE
double is_prime( int j)
{
int imin;
int imax;
for (int j = imin; j <= imax; j++)
{
for ( int k=2; k<=imax; k++)
{
for (int x=2; x<k; x++)
{
if (k%x ==0)
{
cout<<endl;
}
else
cout<< k ;
}
}
}
}
答案 0 :(得分:1)
在最后return
之前的函数底部添加}
语句以返回浮点值。
此外,您应该初始化imin
和imax
OR 鉴于您的函数的目的,您可以将其键入:BOOL is_prime( int j)
然后返回TRUE或FALSE,具体取决于传入的参数是否为素数。例如:
BOOL is_prime(int j)
{
...
for ( int k=2; k<=imax; k++)
//other code
return TRUE;//if prime
...
return FALSE; //if not prime
}
答案 1 :(得分:0)
你的is_prime
函数应该返回一个double值! (例如return 3.0f
)
答案 2 :(得分:0)
您的函数有返回类型。您需要返回一个值。
// DEFINE FUNCTION is_prime() HERE
double is_prime( int j)
{
int imin;
int imax;
for (int j = imin; j <= imax; j++)
{
for ( int k=2; k<=imax; k++)
{
for (int x=2; x<k; x++)
{
if (k%x ==0)
{
cout<<endl;
return 1;
}
else
cout<< k ;
}
}
}
}
您还可以删除返回类型,因为您似乎显示结果:void is_prime(int j)
。