一尘不染

如何获得我的主要功能返回的信息?

linux

在C程序中,如果要从终端提供一些输入,则可以通过以下方式提供:

int main(int argc, char *argv[])

同样,如果我们想获得main()函数的返回值,那么我们如何得到它呢?

在每一个中main()我们写return 1return 0; 我怎么知道我main()在航站楼退回了什么?

编辑:1

我得到的是,echo $?我们可以得到的返回值,main()但是它仅允许我成功返回小于125的值(在Linux中)。$ variableso
无法成功接收到大于此值的返回值

为什么是int返回类型main()?为什么不保留它short int

编辑2

如果main()返回的值大于125 ,我可以从哪里找到错误代码的含义?


阅读 233

收藏
2020-06-03

共1个答案

一尘不染

大多数shell在其中存储前一个run命令的退出代码,$?因此您可以存储或显示它。

$ ./a.out
$ echo $?     # note - after this command $? contains the exit code of echo!

要么

$ ./a.out
$ exit_code=$?    # save the exit code in another shell variable.

请注意,在Linux下,尽管您返回,但int通常只有小于126的值才可以安全使用。保留较高的值,以记录其他在尝试运行命令时可能发生的错误,或者记录哪个信号(如果有)终止了程序。

2020-06-03