C语言初学者请教下return的用法

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:31:43
在做判断素数的函数时,
int f(int x)
{
int a,yes;
for(a=2;a<=x/2;a++)
{
if(x%a==0)
{
yes=1;
break;
}
else
yes=0;

}
if(x==1)
yes=1;
if(x==2 || x==3)
yes=0;
return yes;
}
这样能够正确的判断素数,但是
int f(int x)
{
int a,yes;
for(a=2;a<=x/2;a++)
{
if(x%a==0)
{
return 1;
break;
}
else
return 0;

}
if(x==1)
return 1;
if(x==2 || x==3)
return 0;
}

这样就不行,不是一个函数可以多次用return 返回值吗?

第二个也是可以的,最后一个return 0;后面的分号是中文状态的,不懂是不是你的笔误,像这样的话把函数定义成bool类型的,然后return false或者true更好。
一个函数里可以有多个return,不过一执行了return就会结束这个函数
你应该在if(x%a==0)的里面返回0,因为你在主函数里判断是0的话就是假,而x%a==0的话就证明这个数不是素数了

可以有多个return,但是只有一个会被执行。
因为return就是返回的意思,当执行return的时候函数已经返回了,也就是结束了,所以其他的return也就没有机会执行了。

第二个也是可以的,最后一个return 0;后面的分号是中文状态的,以后注意点。

一个函数只能有一次return,因为函数return了,执行也就结束了,回到原来的调用点,继续执行.
你说的一个函数可以多次return,是把return放到if等控制结构中,其实也只是return一次.