【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;
} 展开
#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;
} 展开
1个回答
展开全部
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是素数
就是说,得同时满足三个条件,才会执行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语句,后面其它的语句就不会执行了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询