函数返回的目的不明确

Thr*_*nos 3 c return function

我最近开始研究C并且发现了这个功能.

int is_prime(int n) {

    int d;

    for (d = 2; d * d <= n; d++)
        if (n % d == 0)
            return 0;

    return n >= 2;
}
Run Code Online (Sandbox Code Playgroud)

虽然我理解它的一般目的和功能(它检查参数是否是素数),但我不明白这一行是什么

return n >= 2;
Run Code Online (Sandbox Code Playgroud)

确切地说.它只返回n,只有它是>= 2吗?如果n <2,会发生什么?有人会这么善意解释吗?谢谢 :)

Har*_*ris 6

它返回表达式的值n >= 2;.

现在,由于表达式涉及一个比较运算符,它可以计算出0哪个意味着False,或者1意味着什么意味着True.


您可以从之前的return声明中获得关于此的线索.return 0,这是返回0,这实际上意味着错误.


注意: C没有任何TrueFalse概念.在C中,True由任何不等于0的数值表示,False由0表示.