return与exit()

来源:互联网 发布:创博网络 编辑:程序博客网 时间:2024/06/05 09:28

今天在Linux下编写程序的时候,遇到了exit()函数,于是查阅了相关资料。

exit()函数通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。这有点类似于程序中的中断。保存断点,中断执行完后,继续执行中断前的任务。也有点类似于break语句,直接跳出当循环,比较地有点不太恰当,但这些似乎都有着某种关联。

exit(0)表示正常退出,exit(1)表示程序异常退出,退出之前的语句都照常执行。在整个程序中,只要调用exit()函数,程序就结束了。

比如:

void sum(int a,int b){
printf("%d\n",a + b);//1
exit(0);
}
int main()
{
sum(1,3);
printf("just a test\n");//2
return 0;}

在sum函数中有eixt(0),那么结果是程序执行完sum函数后就结束了,只有第一个printf的内容将会输出。如果把sum中的exit改为我们熟悉的return,那么程序将会按照流程执行到main中的return 0,然后结束。
"return exp;"表示从被调函数返回到主调函数继续执行,并报告exp的值。如果说函数名是一个入口的话,那return就是一个出口,离开当前的子程序,回到主程序。返回时可附带一个返回值,由return后面的参数exp指定。顺便说一句return并不是一个函数(虽然return可带参数,当然也可以不带),它只是一个语句。exit()函数的定义在"stdlib.h"这个头文件中,如果有需要使用exit()函数,不要忘记加上这个头文件。


原创粉丝点击