c - 非主函数中返回1

标签 c

我目前正在学习 c,我对返回感到困惑:

int factorial (int n)
{
    if (n == 1)
        return 1;
    else
        return n * factorial (n -1);
}

上面的递归代码中最后一次调用当n为1时,return 1会返回整数值1还是会像main中那样执行时出错。我有这种困惑,因为 return 1 在 main 和 main 调用的函数中的处理方式不同......

最佳答案

Will the return 1 return the integer value one or error in execution like in main?

return 1 从任何声明为返回 int 的函数返回整数值 1甚至如果该函数恰好是 int main()

来自 main() 的非零返回值被解释(由执行环境,例如 shell)以指示执行中的错误。这恰好是 main() 返回值的语义

关于c - 非主函数中返回1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40481842/

相关文章:

c++ - 怎么可能有两个同名变量——一个是全局变量,另一个是局部变量?

c - 段错误 - 未知原因

c - 在 C 中对 CSV 文件进行排序

c - C语言共享库中的静态/全局变量

c - pig 游戏运行时错误

c - 如何计算字符串中未知数量的 float

c - while 循环过早退出

c++ - 静态函数是否隐藏同名的非静态函数?

c - 如何创建一个函数以返回 C 中的下一行输入

c - 在 C 中使用 scanf 的正则表达式