广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言return,exit,abort的区别
  • 362
分享到

C语言return,exit,abort的区别

2024-04-02 19:04:59 362人浏览 泡泡鱼
摘要

一般情况下,在C语言中退出一个程序用return,如果在main函数中,return在清理局部对象之后,会调用exit函数。 和return相比,exit并不会销毁局部对象,而是会销

一般情况下,在C语言中退出一个程序用return,如果在main函数中,return在清理局部对象之后,会调用exit函数。

return相比,exit并不会销毁局部对象,而是会销毁所有静态与全局对象、清空缓冲区,关闭io通道。终止前则会调用atexit()所定义的函数。

atexit也在stdlib.h中,其声明式为

int atexit(void (*func)(void))

当程序中止时,就会调用函数指针func

//atexit.c
#include <stdio.h>
#include <stdlib.h>

void funcA (){
   printf("call from atexit\n");
}

int main (){
   atexit(funcA);   //将funcA注册为中止函数
   printf("exiting...\n");
   return 0;
}

测试结果如下:

>GCc atexit.c
>a.exe
exiting...
call from atexit

如果希望什么都不做就退出程序,可以使用abort(),将abort();插入到return 0前面,则其输出结果如下,并不会调用funcA

>a.exe
exiting...

到此这篇关于C语言return, exit, abort的区别的文章就介绍到这了,更多相关C语言return, exit, abort区别内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C语言return,exit,abort的区别

本文链接: https://www.lsjlt.com/news/161537.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言return,exit,abort的区别
    一般情况下,在C语言中退出一个程序用return,如果在main函数中,return在清理局部对象之后,会调用exit函数。 和return相比,exit并不会销毁局部对象,而是会销...
    99+
    2022-11-12
  • C语言中return、exit和abort的区别是什么
    这篇文章将为大家详细讲解有关C语言中return、exit和abort的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一般情况下,在C语言中退出一个程序用return,如果在mai...
    99+
    2023-06-22
  • c语言中exit和return的区别点总结
    1、返回函数值的return是关键字,exit是一个函数。 return是语言级的,它表示调用堆栈的返回;exit是系统调用级的,它表示一个过程的结束。 2、return是函数的退出...
    99+
    2022-11-12
  • C语言中的return true和return false有什么区别
    在C语言中,return true和return false是用于表示一个函数的返回值是真(true)或假(false)。它们的区别...
    99+
    2023-08-19
    C语言
  • Shell中exit和return的区别讲解
    1.exit命令 exit命令是Shell内建命令,用于退出当前Shell进程。使用格式如下: exit [<n>] 可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异...
    99+
    2022-06-04
    shell中exit和return shell中exit和return的区别讲解
  • Shell中exit和return的区别有哪些
    这篇文章主要介绍了Shell中exit和return的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.exit命令exit命令是Shell内建命令,用于退出当前S...
    99+
    2023-06-09
  • C语言return的用法详解
    C语言return的用法有:1、对于返回值类型为void的函数,可以使用return语句来提前结束函数的执行;2、对于返回值类型不为void的函数,return语句的作用是将函数的执行结果返回给调用者;3、提前结束函数的执行,在函数内部,我...
    99+
    2023-10-22
    C语言 return
  • c语言与go语言的区别有哪些
    小编给大家分享一下c语言与go语言的区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!区别:1、C语言源文件的扩展名是“.h”和“.c”,Go语言源文件的扩展名是“.go”。2、C语言中通过文件来管理代码,Go语言中...
    99+
    2023-06-06
  • C++与C语言的区别是什么
    这篇“C++与C语言的区别是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++与C语言的区别是什么”文章吧。1. 结构...
    99+
    2023-06-29
  • C语言和C#有哪些区别
    这篇文章主要介绍“C语言和C#有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言和C#有哪些区别”文章能帮助大家解决问题。C#是三大主流OOP(面向对象编程)语言(C++,Java,C#...
    99+
    2023-06-27
  • 汇编语言和c语言的区别是什么
    区别:1、因为汇编语言实质上是机器语言的助记符,是直接面对CPU的语言,所以汇编语言的运行效率比C语言高;2、汇编语言对硬件的可操控性强,C语言硬件可操控性比较差;3、汇编语言的目标代码体积小,C语言目标代码体积大;4、汇编语言不易维护,C...
    99+
    2023-05-14
    汇编语言 C语言
  • 汇编语言和c语言的区别有哪些
    本文小编为大家详细介绍“汇编语言和c语言的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“汇编语言和c语言的区别有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。区别:1、因为汇编语言实质上是机器语言...
    99+
    2023-07-04
  • C++与C语言的区别你知道吗
    目录1.结构体区别1.1.类型上不再需要struct关键字,直接用结构体名即可1.2.C++结构体中允许函数存在2.动态内存申请C语言的动态内存申请C++的动态申请3.内存池4.st...
    99+
    2022-11-13
  • C语言中i++和++i的区别
    本篇内容主要讲解“C语言中i++和++i的区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言中i++和++i的区别”吧!i++ :先引用后增加++i :先...
    99+
    2022-10-19
  • C语言scanf,fscanf和sscanf的区别
    目录一.scanf,fscanf和sscanf1.scanf2.fscanf3.sscanf二.printf,fprintf和sprintf1.printf2.fprintf3.sp...
    99+
    2022-11-12
  • c语言中getch,getche,getchar的区别
    getchar 是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,也就是说 ,如果stdin有数据的话不用输入就可以直接读取了。而getch()和getche()是...
    99+
    2022-11-15
    getch getche getchar
  • C++语言与其他语言有什么区别
    本篇内容主要讲解“C++语言与其他语言有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++语言与其他语言有什么区别”吧!本文着重进行对C++语言来说,在语法上要简单得多,因此初学者很容...
    99+
    2023-06-17
  • c语言和c++语言中const修饰的变量区别浅析
    目录c:修饰全局变量:修饰局部变量:c++:修饰全局变量:修饰局部变量:总结:在c语言中:在c++语言中:总结c: 修饰全局变量: 用const修饰的全局变量是没有办法直接修改的,间...
    99+
    2022-11-13
  • c语言和java的语法区别是什么?
    c语言和java的语法区别单文件的编译时间java比C语言快;C语言可以直接操作内存,java不能直接操作;C语言可以封装动态库,java不行;C语言的代码不容易跨平台,java的代码容易跨平台;C语言有指针,java没有指针;C语言可以直...
    99+
    2017-01-22
    java教程 c语言 java
  • php的语法和c语言有哪些区别
    这篇文章将为大家详细讲解有关php的语法和c语言有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。语法上的区别:1、PHP使用define函数来定义常量,c语言不是;2、php的所有的变量名前都要带...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作