return是指从函数中返回,如果是子函数,就是从子函数返回到调用函数中。如果过是主函数则推出程序。
exit是从程序中退出,无论是出现在主程序还是子程序中,当调用exit(1)时,程序即退出。
#include <stdlib.h>
#include <stdio.h>
void fn1()
{
printf("here is fn1\n");
exit(1);
}
void fn2()
{
printf("here is fn2\n");
return ;
}
int
main(int argc, char ** argv)
{
printf("here is main\n");
printf("at the begin of the function to call\n");
fn2();
printf("at the end of the function to call\n");
return 0;
}
|
如图函数当调用函数fn2时结果如图:
[root@bogon wangxw]# ./test
here is main
at the begin of the function to call
here is fn2
at the end of the function to call
|
把main函数中的fn2替换为fn1时,运行结果如图:
[root@bogon wangxw]# ./test
here is main
at the begin of the function to call
here is fn1
[root@bogon wangxw]#
|
可见调用exit时函数就直接从调用点fn1处退出,没有打印main语句的printf的语句;调用return是从fn2返回到main函数中执行了后面的printf语句。
阅读(804) | 评论(0) | 转发(1) |