我最近开始学习C并且发现了这个功能。
int is_prime(int n) {
int d;
for (d = 2; d * d <= n; d++)
if (n % d == 0)
return 0;
return n >= 2;
}
虽然我理解它的一般目的和功能(它检查参数是否是素数),但我不明白这行是什么
return n >= 2;
完全正确。
它只返回n,只有它是>= 2
吗?如果n是&lt;将会发生什么? 2?
有人会这么善意解释吗?谢谢:))
答案 0 :(得分:6)
返回表达式n >= 2;
的值。
现在,由于表达式涉及比较运算符,因此它可以计算为0
,这意味着 False ,或1
,这意味着 True 。
您可以从之前的return
声明中了解相关信息。 return 0
,返回0
,实际上意味着 False 。
注意: C没有 True 或 False 的任何概念。在C True 由任何不等于0的数值表示, False 由0表示。
答案 1 :(得分:1)
与存在表达式的所有其他位置一样,它会计算表达式,并且对于函数的结果,它将返回值。'
n >= 2
如果n为2,3,4,则为真,如果n为1,0,-1,-2,则为假,