gpt4 book ai didi

c - 为什么我们需要在 C 函数的末尾使用 'return 0' ?

转载 作者:行者123 更新时间:2023-11-30 21:14:43 26 4
gpt4 key购买 nike

我真的不明白为什么我们需要在函数末尾使用return 0;。我有点明白为什么我们在 main() 的末尾需要它(表示程序的结束?),但我真的不明白为什么我们在常规函数的末尾也需要它.

最佳答案

如果在你的代码中,你说你的函数返回一个值,但实际上并没有返回一个值:

int my_function(int x)
{
// bad practice!
}

...这是一个错误不好的做法。您说过您要返回一个值(在本例中为“int”),但您没有。

同样,如果您的函数有多个路径:

int my_function(int x)
{
if (x == 3)
return 42; // good

// bad!
}

并且您再次声明了返回值的意图,但函数中的某些路径没有这样做,这也是错误不好的做法;您违背了对函数调用者的 promise 。

通过函数的所有路径都应以 return 语句结束:

int my_function(int x)
{
if (x == 3)
return 42; // good

return 1; // good
}

如果您不想返回任何值,则将函数声明为 void:

void my_function(int x)
{
// good
}

更新:上面,您可能会注意到我将“错误”替换为“不好的做法”。这是因为“错误”一词在 C 标准中意味着非常特殊的东西,并且忘记 return 语句并不符合该定义(相反,它被认为是“未定义的行为”,并且您的编译器可能会甚至不要提示。)但是,作为一个人,您应该将其视为代码中的错误,并避免忘记函数的所有退出路径上的 return 语句。

关于c - 为什么我们需要在 C 函数的末尾使用 'return 0' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40833319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com