不知道你面试官怎么问的,main函数返回值就是进程正常退出时的退出码,因此main函数里return 1exit(1)是一样的。在linux上可以用wait/waitpid等函数捕获子进程的退出码,windows上是用GetExitCodeProcess来捕获。如果使用标准库函数system()执行程序的话,该程序的退出码就是system()的返回值。
如果没有考虑到进程的创建,而是程序直接退出了,想要知道它的退出码,linux下可以用shell特殊变量$?来获取。windows也有类似命令吧。
如果是想报告错误码,在退出的时候打印出来就行了。怕麻烦的话就定义个全局变量g_error,然后用C标准库函数atexit注册一个函数,打印g_error的值,退出时用return g_error = 1或者exit(g_error = 1)这样的。或者利用析构函数也是一样的,声明个全局对象,退出时把退出码赋值给成员变量,析构函数里打印成员变量。