【发布时间】:2014-12-31 22:39:18
【问题描述】:
在下面的代码中,请查看带有“continue”语句的部分。如果我删除 'continue' 语句并且我什么都没有代替它会有什么不同。
int prime_or_not(int x){
int i;
if (x == 1 || x == 2){
return 1;
}else if (x % 2 == 0){
return 0;
}else if (x > 2){
for (i = 3; i < x; i += 2){
if (x % i == 0){
return 0;
break;
}else {
continue;
}
}
return 1;
}else {
return 0;
}
}
【问题讨论】:
-
在调试器中单步执行你发现了什么?
-
break和continue都不是必需的。 -
顺便说一句,1 不是素数。
-
有些人以“最佳实践”的名义总是为每个
if拥有一个else。在您显示的代码中,给定的else { continue; }、一个空的else {}和根本没有else都会产生相同的效果。此外,在return之后放置一个中断是无法访问的代码。 -
关于这一行:'for (i = 3; i >1); i += 2){'