【c语言简单问题】关于if函数条件里有个问题没看懂

#include<stdio.h>#include<math.h>intprime(intn){inti;if(n==0||n==1)return0;for(i=2;i<... #include<stdio.h>
#include <math.h>

int prime(int n)
{
int i;
if (n==0||n==1) return 0;
for (i=2;i<=sqrt(n);i++)
if (n%i==0) return 0;
return 1;
}

int main()
{
int i,m,n;
while(scanf("%d",&n)&&n!=0)
{
m=0;
for(i=2;i<=n/2;i++)

//===================================
if (i!= n-i&&prime(i)&&prime(n-i))

就是这个,没有明白

//================================
m++;
printf("%d\n",m);

}
return 0;
}
展开
 我来答
寒寒家
推荐于2017-11-27 · TA获得超过2921个赞
知道大有可为答主
回答量:1482
采纳率:100%
帮助的人:1987万
展开全部
if (i!= n-i&&prime(i)&&prime(n-i))
就是说,得同时满足三个条件,才会执行if后面的m++
三个条件分别是:
1. i!=n-i
2. prime(i) //i是素数
3.prime(n-i)//n-i是素数
追问
我能问下这个判断素数的函数吗,这个函数我有点没看明白最后一个return 1,是怎么回事,return 0后就不会再执行return 1了吗?
追答
对的,
return 就是直接退出当前函数,并返回reuturn后面的值。

所以指如果执行了其中的一个return语句,后面其它的语句就不会执行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式