c - 函数返回的目的不明确

标签 c function return

我最近开始学习 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;

确实如此。 它是否仅在 >= 2 时才返回 n?如果 n < 2 会发生什么? 有好心人解释一下吗?谢谢:)

最佳答案

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

现在,由于表达式涉及比较运算符,它可以计算为 0,这意味着 False,或者 1,这意味着 没错


您可以从前面的return 语句中得到一些线索。 return 0,也就是返回0,其实就是False的意思。


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

关于c - 函数返回的目的不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35366161/

相关文章:

javascript - 手动调用javascript中的函数?

java - 如果 ArrayList 包含重复项,则返回 true?然后退回重复的卡?

function - 包装到带有进度条的FOR循环

arrays - 电子表格函数中的返回数组

arrays - 从一个函数内部更新另一个函数中的变量

c - 如何在 OpenMP 中使用孤立的 for 循环?

c - 为什么段错误? strtok 和 malloc

在C中将十进制数转换为二进制数

c - 有什么理由不对结构进行 typedef 吗?

c++ - 如何在类中创建模板函数? (C++)