请考虑以下代码:
#include <stdio.h>
int main()
{
int x;
printf ("\nEnter x: ");
scanf ("%d", &x);
return x;
}
Output:
$Enter x: -2
$echo $?
254
我的问题是:
当操作系统执行进程P(上述代码正在执行)并得到main()函数的返回值为非零时,操作系统会采取何种处理方式?
main
函数的返回值有三个预定义值:0
、EXIT_SUCCESS
和EXIT_FAILURE
,其中前两个表示程序的成功。所有其他值的解释都是“实现定义的”。例如,在 Linux 上,所有 256 的倍数也表示成功,因为它只查看返回值的低位。 - Jens Gustedt