不知道你面试官怎么问的,main函数返回值就是进程正常退出时的退出码,因此main函数里return 1和exit(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)这样的。或者利用析构函数也是一样的,声明个全局对象,退出时把退出码赋值给成员变量,析构函数里打印成员变量。
点赞 7

相关推荐

11-21 11:26
已编辑
门头沟学院 前端工程师
Apries:这个阶段来说,很厉害很厉害了,不过写的简历确实不是很行,优势删掉吧,其他的还行
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
牛客网
牛客企业服务