gpt4 book ai didi

c - return 在程序中的使用

转载 作者:太空宇宙 更新时间:2023-11-04 06:55:27 24 4
gpt4 key购买 nike

在int main() block 中写一段代码时,为什么要用

返回0;

我知道这是因为它告诉操作系统代码已成功运行。但是,即使我使用 return 1、return 38 或类似的东西,如果我的程序仍然成功运行,它对我有何影响。如果任何数字 x 都可以做同样的事情,数字 0 有什么用?

最佳答案

在许多环境中,从 main() 返回的返回值可以被任何运行程序访问。例如,您可以在 bash 中看到这一点,方法是($? is the bash special variable holding the return code from the last program - 它实际上比你做管道时要复杂一点,但为了这个问题的目的,我们会保持简单):

myProgram
if [[ $? -ne 0 ]] ; then
echo "Something went horribly wrong"
fi

因此,这是向“外界”表明您的计划成功与否的好方法。

对于我们当中的语言律师,它首先在 5.1.2.2.3 程序终止/1(我强调)中涵盖(对于 C11):

If the return type of the main function is a type compatible with int, a return from the initial call to the main function is equivalent to calling the exit function with the value returned by the main function as its argument; reaching the } that terminates the main function returns a value of 0.

7.22.4.4 退出函数/5 部分涵盖了 exit 的行为,因为它与实际完成执行有关:

Finally, control is returned to the host environment. If the value of status is zero or EXIT_SUCCESS, an implementation-defined form of the status successful termination is returned. If the value of status is EXIT_FAILURE, an implementation-defined form of the status unsuccessful termination is returned. Otherwise the status returned is implementation-defined.

关于c - return 在程序中的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45646705/

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