Return 在 C 和 C++ 中
Return in C and C++
所以我用 C 编写代码已经有一段时间了,但仍然让我感到困惑的一件事是函数末尾的“return”。
现在我知道 return 是值,当被 main 调用时,它是一个函数 returns。
但是C的main()函数中的“return 0”是什么意思呢?我还做了以下-
#include <stdio.h>
int main()
{
printf("Hello world");
return 0;
}
然后,我做了这个-
#include <stdio.h>
int main()
{
printf("Hello world";
return -1;
}
然后我终于做到了-
#include <stdio.h>
int main()
{
printf("Hello world";
return 45;
}
它们都编译得很好 运行,但是这些“return”在上述代码的每种情况下做了什么。请详细解释这个 return 以及在这 3 种情况下会发生什么。
main
函数的return值是程序的退出值。调用您的程序的进程可以检索此退出值。
首先是一个shell例子:
./myprogram
exitvalue=$?
echo exitvalue = $exitvalue
这将为第一个程序打印 0,为第三个程序打印 45。第二个程序将 可能 打印 255,因为大多数操作系统的退出状态预计在 0 到 255 之间。
对于来自命令行(Linux 和 Unix)的 bash 脚本或程序 运行,这些是常见的退出代码(来自 main 函数的 return 值在这种情况下,或调用 exit()
).
0 - OK
1 - Catchall for general errors
2 - Misuse of shell builtins (according to Bash documentation)
126 - Command invoked cannot execute
127 - “command not found”
128 - Invalid argument to exit
128+n - Fatal error signal “n”
130 - Script terminated by Control-C
255\* - Exit status out of range
所以我用 C 编写代码已经有一段时间了,但仍然让我感到困惑的一件事是函数末尾的“return”。
现在我知道 return 是值,当被 main 调用时,它是一个函数 returns。
但是C的main()函数中的“return 0”是什么意思呢?我还做了以下-
#include <stdio.h>
int main()
{
printf("Hello world");
return 0;
}
然后,我做了这个-
#include <stdio.h>
int main()
{
printf("Hello world";
return -1;
}
然后我终于做到了-
#include <stdio.h>
int main()
{
printf("Hello world";
return 45;
}
它们都编译得很好 运行,但是这些“return”在上述代码的每种情况下做了什么。请详细解释这个 return 以及在这 3 种情况下会发生什么。
main
函数的return值是程序的退出值。调用您的程序的进程可以检索此退出值。
首先是一个shell例子:
./myprogram
exitvalue=$?
echo exitvalue = $exitvalue
这将为第一个程序打印 0,为第三个程序打印 45。第二个程序将 可能 打印 255,因为大多数操作系统的退出状态预计在 0 到 255 之间。
对于来自命令行(Linux 和 Unix)的 bash 脚本或程序 运行,这些是常见的退出代码(来自 main 函数的 return 值在这种情况下,或调用 exit()
).
0 - OK
1 - Catchall for general errors
2 - Misuse of shell builtins (according to Bash documentation)
126 - Command invoked cannot execute
127 - “command not found”
128 - Invalid argument to exit
128+n - Fatal error signal “n”
130 - Script terminated by Control-C
255\* - Exit status out of range