return和exit
main函数返回退出码
main函数退出的时候,return的返回值就是进程的退出码。0在函数的设计中,一般代表是正确而非0就是错误的。
为什么main函数的return一般写成0?0在函数设计中,一般代表正确,非零代表出错。这里的return是给系统看,确认进程的执行结果是否正确,退出码可以人为的定义,也可以使用系统的错误码list,那么非零到底是什么意思?当程序运行失败的时候,我们最关心的是为什么失败?失败原因,计算机不擅长处理,擅长处理整数类型的数据,所以退出码都是整数类型的,但是我们人又擅长字符串的描述,所以就有错误码和字符串的映射;
return的几种含义:
1:return
return后面什么都不接,说明时void类型函数的返回,返回后不再执行return后面的语句。
也就是中断返回值为void类型的函数执行。
作用相当于break语句;中断循环的执行;
2:return 0;
一般用在主函数结束时,表示程序正常终止,即告诉系统程序正常。
3.return -1;
表示返回一个代数值,一般用在子函数结尾。表示程序异常终止,即告诉系统程序异常。
4.return 1;
与return -1相同,同样表示程序异常终止;
调用exit函数
exit:终止整个进程,任何地方调用,都会终止
return:终止函数,如果是main函数return ,代表终止进程
函数名: exit()
所在头文件:stdlib.h 功 能: 关闭所有文件,终止正在执行的进程。 exit(1)表示异常退出.这个1是返回给操作系统的。 exit(x)(x不为0)都表示异常退出 exit(0)表示正常退出 exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。 stdlib.h: void exit(int status); 参 数 : status //程序退出的返回值.
exit(0):正常运行程序并退出程序。 exit(1):非正常运行导致退出程序; return():返回函数,若在主函数中,则会退出函数并返回一值。
拓展知识:
-
return返回函数值,是关键字; exit 是一个函数。
-
return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。
-
return是函数的退出(返回);exit是进程的退出。
-
return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。
-
return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS(操作系统),这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非0 为非正常退出。
-
非主函数中调用return和exit效果很明显,但是在main函数中调用return和exit的现象就很模糊,多数情况下现象都是一致的。
C语言中return与exit的区别及使用
953

被折叠的 条评论
为什么被折叠?



