[求助]有一个挺复杂的语句不理解
在编一个“完数”的程序,在论坛里搜到了这个
#include<stdio.h>
int isPrime(long n,long i)
{
return n<i*i?1:n%i?isPrime(n,i+2):0; /*请问这句怎么理解*/
}
int main(void)
{
long x,y;
for(x=2,y=4;x*y>0;x=y,y+=y)
if(isPrime(y-1,3))
printf("%ld\n",x*(y-1));
return 0;
}