C语言如何退出函数

C语言如何退出函数,第1张

方法一:

main()函数写成int型的,即int main()

然后结束的时候

只需return 0;

代表程序正常结束

方法二:

利用

if(条件)

exit();

if语句条件满足时退出程序。

有三种方式可以终止线程,具体调用函数依赖于使用的线程系统。

1 在线程入口函数中,调用return。 即退出线程入口函数,可以实现终止当前线程效果;

2 在线程执行的任意函数,调用当前线程退出函数,可以退出当前线程;

3 在任意位置,调用线程终止函数,并传入要终止线程的标识符,即pid,可以实现终止对应线程效果。

这比较麻烦,需要在汇编一级进行编程了,因为:

调用第1个函数时,c语言编译程序会自动加入若干保护调用现场的压栈语句,所以从这个函数返回时会返回到调用者(比如说是main);

现在函数1又调用函数2,又有若干保护现场的动作被执行,你从函数2返回利用栈只能返回函数1,若想再返回函数1的调用点需要从函数1执行返回语句;

所以说函数2无法从c代码的层次得到调用函数1时在栈中的调用点数据。

这个任务只能通过返回值传达给调用者尽快返回,而不能由嵌套被调用者直接跳层返回。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

解析:

exit(正常结束进程)

相关函数 _exit,atexit,on_exit

表头文件 #include<stdlibh>

定义函数 void exit(int status);

函数说明 exit()用来正常终结目前进程的执行,并把参数status返回给父进程,而进程所有的缓冲区数据会自动写回并关闭未关闭的文件。

返回值

程序中途跳出,和结束是两个不同的概念。

1 要使程序中途跳出,可以使用return语句,跳出该函数。

int fun(int n)

{

    int i;

    if(n<0) return -1;// 在n为负数下,提前退出该函数。 

    //执行正常功能。 

    for(i=0;i<n;i++)

        printf("%d ", i);

}

2 要使程序提前结束, 可以调用exit()函数。 

int fun(int n)

{

    int i;

    if(n<0) exit(-1);// 在n为负数下,提前结束程序。 

    //执行正常功能。 

    for(i=0;i<n;i++)

        printf("%d ", i);

}

3 二者区别:

a) 使用exit函数,会结束整个程序。 而使用return只是结束当前函数,还会到主调函数处继续运行。 

b) 在main函数中使用return语句,等效于调用exit函数,同样会结束程序。 

c) 调用exit函数时,需要引用头文件stdlibh。

最简单的方法,将n1,n2,n3定义为全局变量,放在#include

的下面

#include

int

n1,

n2,

n3;

在main函数和find函数中将n1,n2,n3的定义都去掉,这样就可以了

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12459266.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存