【发布时间】:2013-05-06 06:03:26
【问题描述】:
只是为了好玩和咯咯笑,是否可以在三元运算中放置一个“for”循环?
这是查找一个数是否为素数的代码:
int isPrime(int number){
int i, root = sqrt(number)+1;
if(number==1||!(number)||!(number&1)) return 0;
if(number==2) return 1;
for(i=3;i<root;i+=2) if(!(number%i)) return 0;
return 1;
}
这是我“想法”的开始:
int isPrime(int number){
return number&1 || !(number&1) || number==2 ? 0:1;
}
是否可以在其中添加 for 循环检查?
【问题讨论】:
-
它真的对你有帮助吗?
-
并非如此。它只是引起了我的兴趣,我不知道这是否可能..
-
您可以使用编译器扩展(例如 GCC Statement expressions),但不能使用标准 C。
-
if(number==1||!(number)||!(number&1)) return 0;//isPrime(2)是返回0;