return 0和exit()

1.return 0

   (1).return属于关键字,返回函数值;

   (2).return 0表示程序正常退出;程序运行结束,操作系统会检查是否是正常退出,否则要作异常处理;

   (3).return 0的作用就是告诉操作系统程序正常退出,不再检查,加效率,在大型项目中减轻操作系统负担;

2.exit(int status)

   (1).exit()函数属于系统调用,表示进程的结束,头文件是#include。status表示终止状态;

   (2).执行exit()表示终止进程,删除进程使用的内存空间,并将程序的状态返回给操作系统,该状态标识了程序的一些运行信息‘这个信息与机器和操作系统有关,0为正常退出,非0为异常退出;

   (2).异常退出系统会将异常返回给用户;

   (3).用户可定义异常参数,在大型程序定位程序出错点,用宏定义表示参数返回码

#define LOG_FAIL_NAME -1

...
exit(-1);

        程序退出再Ubuntu系统下,在命令行输入echo $ ?  查看退出码,定位程序出错点;

3.两者区别

   (1).return属语言级,是关键字,表示是在堆栈的返回,返回函数值;而exit()属于系统调用,表示一个进程结束;

   (2).return是函数的退出,exit()是进程的结束;

   (3).return是C语言提供的,exit()是操作系统提供的;

   (4).return 结束函数的执行,将函数的执行信息传出给其调用函数;

   (5).调用return和exit()的现象在主函数中模糊,在非主函数中区别明显,多数情况下现象是一致的;

你可能感兴趣的:(return 0和exit())