精华内容
下载资源
问答
  • c语言exit函数用法
    千次阅读
    2019-10-06 19:04:04

    C语言中Exit函数的使用

    exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束
    return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,
    如果不是,那就是退回上一层调用。在多个进程时.如果有时要检测上进程是否正常退出的.
    就要用到上个进程的返回值..
    exit(1)表示进程正常退出. 返回 1;
    exit(0)表示进程非正常退出. 返回 0.
    进程环境与进程控制(1): 进程的开始与终止

    1. 进程的开始:
    C程序是从main函数开始执行, 原型如下:
    int main(int argc, char *argv[]);
    通常main的返回值是int型, 正确返回0.
    如果main的返回值为void或者无, 某些编译器会给出警告,
    此时main的返回值通常是0.
    关于main的命令行参数不做过多解释, 以下面的程序展示一下:
     

    #i nclude <stdio.h>
    int main(int argc, char *argv[])
    {
    int i;
    for (i = 0; i < argc; i++)
    printf("argv[%d]: %s\n", i, argv[i]);
    return 0;
    }
    

      

    2. 进程终止:
    C程序的终止分为两种: 正常终止和异常终止.
    正常终止分为: return, exit, _exit, _Exit, pthreade_exit
    异常中指分为: abort, SIGNAL, 线程响应取消
    主要说一下正常终止的前4种, 即exit系列函数.

    #i nclude <stdlib.h> /* ISO C */
    void exit(int status);
    void _Exit(int status);
    #i nclude <unistd.h> /* POSIX */
    void _exit(int status);

    以上3个函数的区别是:
    exit()(或return 0)会调用终止处理程序和用户空间的标准I/O清理程序(如fclose), _exit和_Exit不调用而直接由内核接管进行清
    理.
    因此, 在main函数中exit(0)等价于return 0.

    3. atexit终止处理程序:
    ISO C规定, 一个进程最对可登记32个终止处理函数, 这些函数由exit按登记相反的顺序自动调用. 如果同一函数登记多次, 也会被
    调用多次.
    原型如下:
    #i nclude <stdlib.h>
    int atexit(void (*func)(void));
    其中参数是一个函数指针, 指向终止处理函数, 该函数无参无返回值.
    以下面的程序为例:
    #i nclude <stdlib.h>
    static void myexit1()
    {
    printf("first exit handler\n");
    }
    static void myexit2()
    {
    printf("second exit handler\n");
    }
    int main()
    {
    if (atexit(my_exit2) != 0)
    printf("can't register my_exit2\n");
    if (atexit(my_exit1) != 0)
    printf("can't register my_exit1\n");
    if (atexit(my_exit1) != 0)
    printf("can't register my_exit1\n");
    printf("main is done\n");
    return 0;
    }
    运行结果:
    $ ./a.out
    main is done
    first exit handler
    first exit handler
    second exit handler运行结果:
    $./a.out arg1 arg2 arg3
    argv[0]: ./a.out
    argv[1]: arg1
    argv[2]: arg2
    argv[3]: arg3

    转载于:https://www.cnblogs.com/wenluderen/p/4770385.html

    更多相关内容
  • 二.exit 函数使用 三.exit 函数和 return 区别 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.exit 函数简介 #include <stdlib.h> /*描述:终止正在执行的进程*/ ...

    目录

    零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

    一.exit 函数简介

    #include <stdlib.h>
    
    /*描述:终止正在执行的进程*/
    
    /*
        函数参数:
            status 等于 1 ,表示异常退出.这个1是返回给操作系统的;
            status 等于 0 ,表示正常退出;
            status 等于其他值 ,都表示异常退出;
     */
    
    
    void exit(int status);
    

    **其中,exit 函数参数会被传递给一些操作系统,status 状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非 0 为非正常退出。**包括 UNIX, Linux 和 MS DOS 。

    标准 C 里有 EXIT_SUCCESS 和 EXIT_FAILURE 两个宏,用 exit(EXIT_SUCCESS),可读性比较好一点。

    exit(1);//跟return(1)一样效果;
    

    二.exit 函数使用

    /******************************************************************************************/
    //@Author:猿说编程
    //@Blog(个人博客地址): www.codersrc.com
    //@File:C语言教程 - C语言 exit 函数
    //@Time:2021/07/16 07:30
    //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
    /******************************************************************************************/
    
    #include <stdio.h>
    #include <stdlib.h>
    int main(void)
    {
        puts( "About to exit..../n" );
        exit( EXIT_SUCCESS );
        puts( "This will never be executed!/n" );
        return 1;
    }
    
    /*
    输出:
    
    About to exit....
    
    */
    

    由上面代码可以看出,exit 函数会终止正在执行的进程,执行了 exit 函数之后,并不会再继续执行之后的代码;

    三.exit 函数和 return 区别

    return 返回函数值,是关键字; exit 是一个函数。

    return 是语言级别的,它表示了调用堆栈的返回;而 exit 是系统调用级别的,它表示了一个进程的结束。

    return 是函数的退出(返回);exit 是进程的退出。

    return 是 C 语言提供的,exit 是操作系统提供的(或者函数库中给出的)。

    return 用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit 函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给 OS (操作系统),这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非 0 为非正常退出。

    非主函数中调用 return 和 exit 效果很明显,但是在 main 函数中调用 return 和 exit 的现象就很模糊,多数情况下现象都是一致的。

    四.猜你喜欢

    1. C 语言 数组下标越界和内存溢出区别
    2. C 语言 使用指针遍历数组
    3. C 语言 指针和数组区别
    4. C 语言 指针数组和数组指针区别
    5. C 语言 野指针
    6. C 语言 函数值传递和址传递
    7. C 语言 函数不定长参数
    8. C 语言 函数指针
    9. C 语言 指针函数
    10. C 语言 回调函数 callback
    11. C 语言 #pragma once
    12. C 语言 #include <> 与 #include “” 区别
    13. C 语言 const 修饰函数参数
    14. C 语言 const 和 define 区别
    15. C 语言 #运算符
    16. C 语言 ##运算符
    17. C 语言 __VA_ARGS__
    18. C 语言 ##__VA_ARGS__
    19. C 语言 函数不定长参数 ##__VA_ARGS__经典案例
    20. C 语言 va_start 宏
    21. C 语言 va_end 宏
    22. C 语言 va_arg 宏
    23. C 语言 vprintf 函数
    24. C 语言 va_start / va_end / va_arg 自定义 printf 函数
    25. C 语言 main 函数
    26. C 语言 main 函数参数 main(int argc, char *argv[])
    27. C 语言 exit 函数

    未经允许不得转载:猿说编程 » C 语言 exit 函数

    展开全文
  • C语言exit函数使用

    千次阅读 2021-05-18 17:05:14
    exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。在多个进程时.如果有时要检测...

    exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束

    return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值..

    exit(1)表示进程正常退出. 返回 1;

    exit(0)表示进程非正常退出. 返回 0.

    进程环境与进程控制(1): 进程的开始与终止

    1. 进程的开始:

    C程序是从main函数开始执行, 原型如下:

    int main(int argc, char *argv[]);

    通常main的返回值是int型, 正确返回0.

    如果main的返回值为void或者无, 某些编译器会给出警告, 此时main的返回值通常是0.

    关于main的命令行参数不做过多解释, 以下面的程序展示一下:

    以下是代码片段:

    #include

    int main(int argc, char *argv[])

    {

    int i;

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

    printf("argv[%d]: %s\n", i, argv[i]);

    return 0;

    }

    2.

    进程终止:

    C程序的终止分为两种: 正常终止和异常终止.

    正常终止分为: return, exit, _exit, _Exit, pthreade_exit

    异常中指分为: abort, SIGNAL, 线程响应取消

    主要说一下正常终止的前4种, 即exit系列函数.

    以下是代码片段:

    #include

    void exit(int status);

    void _Exit(int status);

    #include

    void _exit(int status);

    以上3个函数的区别是:

    exit()(或return 0)会调用终止处理程序和用户空间的标准I/O清理程序(如fclose),

    _exit和_Exit不调用而直接由内核接管进行清

    理.

    因此, 在main函数中exit(0)等价于return 0.

    3.

    atexit终止处理程序:

    ISO C规定, 一个进程最对可登记32个终止处理函数, 这些函数由exit按登记相反的顺序自动调用. 如果同一函数登记多次,

    也会被

    调用多次.

    原型如下:

    #include

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

    其中参数是一个函数指针, 指向终止处理函数, 该函数无参无返回值.

    以下面的程序为例:

    以下是代码片段:

    #include

    static void myexit1()

    {

    printf("first exit handler\n");

    }

    static void myexit2()

    {

    printf("second exit handler\n");

    }

    int main()

    {

    if (atexit(my_exit2) != 0)

    printf("can't register my_exit2\n");

    if (atexit(my_exit1) != 0)

    printf("can't register my_exit1\n");

    if (atexit(my_exit1) != 0)

    printf("can't register my_exit1\n");

    printf("main is done\n");

    return 0;

    }

    运行结果:

    以下是代码片段:

    $ ./a.out

    main is done

    first exit handler

    first exit handler

    second exit handler运行结果:

    $./a.out arg1 arg2 arg3

    argv[0]: ./a.out

    argv[1]: arg1

    argv[2]: arg2

    argv[3]: arg3

    &lpar;转&rpar;C语言中Exit函数的使用

    C语言中Exit函数的使用 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如 ...

    C语言中system&lpar;&rpar;函数的用法总结&lpar;转&rpar;

    system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: #include #include

    c语言中的c语言中realloc&lpar;&rpar;函数解析

    c语言中realloc()函数解析 真是有点惭愧,这些内容本应该很早就掌握的,以前只是糊里糊涂的用,不知道在内存中具体是怎么回事,现在才弄清楚. realloc(void *__ptr, size_t ...

    C语言中qsort函数用法

    C语言中qsort函数用法-示例分析    本文实例汇总介绍了C语言中qsort函数用法,包括针对各种数据类型参数的排序,非常具有实用价值非常具有实用价值. 分享给大家供大家参考.C语言中的qsort ...

    使用C语言中qsort&lpar;&rpar;函数对浮点型数组无法成功排序的问题

    一 写在开头 1.1 本节内容 本节主要内容是有关C语言中qsort()函数的探讨. 二 问题和相应解决方法 qsort()是C标准库中的一个通用的排序函数.它既能对整型数据进行排序也能对浮点型数据进 ...

    C语言中malloc函数返回值是否需要类型强制转换问题

    1. 在C语言中, 如果调用的函数没有函数原型, 则其返回值将默认为 int 型. 考虑调用malloc函数时忘记了 #include 的情况 此时malloc函数返回 ...

    R语言中apply函数

    前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...

    C语言中malloc函数的理解

    在C语言中malloc函数主要是用在堆内存的申请上,使用malloc函数时,函数会返回一个void *类型的值,这个值就是你申请的堆内存的首地址:为什么返回的地址是一个void *类型的地址呢?首先我 ...

    关于C语言中printf函数&OpenCurlyDoubleQuote;输出歧视”的问题

    目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...

    随机推荐

    Linux 安装Weblogic12 - copy

    # groupadd weblogic# useradd -g weblogic weblogic# passwd weblogic# mkdir -p /var/bea# chown -R webl ...

    Windows计数器做性能监控(window server 2008服务器)

    使用Windows计数器 一.创建数据收集器集 二.创建数据收集器 三.使用数据收集器 1.修改数据收集器的属性 2.手动启用.手动停止数据收集器集 3.计划任务 4.在性能监视器中查看 一.性能监视 ...

    HDU1166-敌兵布阵(线段树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 #include #include #i ...

    Horizontal&comma;vertical&comma;Input&lowbar;Mouse&comma;Input&lowbar;Key

    鼠标获取 using UnityEngine; using System.Collections; public class Input_Mouse : MonoBehaviour { void Up ...

    js编码、解码

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...

    JavaSwing JScrollPane的使用

    JavaSwing JScrollPane的使用: 参考:http://duyz.blog.ifeng.com/article/340649.html package com.srie.test; i ...

    最近任务 &amp&semi;&amp&semi; react文章列表

    最近任务 读书 数据分析 react深入学习 可视化大图 移动端入门 [React学习] 入门学习-文本渲染 http://www.cnblogs.com/huxiaoyun90/p/4783663. ...

    Python自省

    自省就是通过一定机制查询到对象的内部结构,也就是运行时获取对象内部的属性以及类型,在Python中dir(),type(), hasattr(), isinstance()都是很好的自省例子 #!/u ...

    黄聪:PHP去掉转义后字符串中的反斜杠&bsol;函数stripslashes

    addslashes函数主要是在字符串中添加反斜杠对特殊字符进行转义,stripslashes则是去掉转义后字符串中的反斜杠\,比如当你提交一段json数据到PHP端的时候可能会遇到json字符串中有 ...

    python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: import scipy from scipy.io import wavfile import soundfile as sf ...

    展开全文
  • C语言exit();怎么用?exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束。 return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。 在...

    C语言中exit();怎么用?

    exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束。 return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。 在多个进程时.如果有时要检测上进程是否正常退出的.就

    在C语言中,exit(0)是什么意思?

    03f8dc1d91b87faa9a9fbec8990681e3.gif

    exit(0):正常运行程序并退出程序。 exit(1):非正常运行导致退出程序; return():返回函数,若在主函数中,则会退出函数并返回一值。 拓展知识: 1. return返回函数值,是关键字; exit 是一个函数。 2. return是语言级别的。

    C语言中的exit(0)和exit(1)有什么区别?

    c语言中exit的头文件是什么?

    C语言exit函数的头文件是stdlib.h。 exit的声明为 void exit(int value); exit的作用是,退出程序,并将参数value的值返回给主调进程。 exit(a); 等效于在main函数中return a;

    请问C语言中,exit()的具体用法和含义

    有时程序中加入的一些语句,可以说没有任何用处,但可以让阅读者认识一种新的语句,以及大概的使用方式。exit(0)是正常退出程序,作用和break有点类似;但break是退出某一语句体,到下一个语句执行,exit是正常退出程序,后面的语句将不再执行。

    C语言中在被调函数中使用exit(0)会不会退出主函数呢?

    数字0,1,-1会被写入环境变量ERRORLEVEL,其它程序可以由此判断程序结束状态。 一般0为正常推出,其它数字为异常,其对应的错误可以自己指定。

    c语言中exit与break区别

    exit的话是在stdlib的头文件里面定义的,他是的程序退出,正如exit的字面意思一样 break的话是终止当前循环继续进行循环后面的语句,但是程序照样还在进行 只能while switch for中使用break; 但是可以在任何语句中用exit;

    C语言中exit(1)什么意思,1又代表什么

    可以替换成别的数值吗?如 exit(0)又代表什么

    exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。 使用exit()时。

    展开全文
  • C语言中的exit()函数

    万次阅读 多人点赞 2019-03-09 22:35:43
    函数名: exit() 所在头文件:stdlib.h 功 能: 关闭所有文件,终止正在执行的进程。 exit(1)表示异常退出.这个1是返回给操作系统的。 exit(x)(x不为0)都表示异常退出 exit(0)表示正常退出 exit()的参数会被传递给...
  • C语言exit的简单用法

    千次阅读 2020-03-11 13:48:45
    exit()就是退出,传入的参数是程序退出时的状态码。 0表示正常退出,其他表示非正常退出,一般都用-1或者1, exit(1);...使用exit()时,可以不论main()的返回值类型。 它的头文件是 stdlib.h。 ...
  • 主要介绍了C语言中fseek函数和ftell函数使用方法,两个函数分别用于设置和返回文件指针stream的位置,需要的朋友可以参考下
  • C语言Exit函数使用

    万次阅读 多人点赞 2011-02-24 09:17:00
    <br />exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束  return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。...
  • c语言中的exit函数

    千次阅读 2018-08-29 10:26:56
    exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。 exit(0) 表示程序正常退出,exit⑴/exit(-1)... 函数用法  函数名: exit() 所在头文件:stdlib.h(如果是"VC6.0"的话...
  • 主要介绍了C语言中send()函数和sendto()函数使用方法,是C语言入门学习中的基础知识,需要的朋友可以参考下
  • C语言fillpoly函数详解

    2020-09-03 07:07:23
    C语言中,fillpoly函数的功能是画一个多边形,并且把多边形填充。填充边框所定义的多边形的内部。fillpoly 函数用法:void far fillpoly(int numpoints, int far *polypoints);。
  • C语言main函数、return、exit函数

    千次阅读 2018-07-25 12:16:03
    main函数 说到return,有必要提及主函数的定义。很多人甚至市面上的一些书籍,都使用了void main( )这一形式 ,其实这是错误的。 C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的...
  • // 字符串最后包含 \0 if(buffer==NULL) exit(1); // 判断是否分配成功 // 随机生成字符串 for(n=0; n buffer[n] = rand()%26+‘a’; buffer[i]=’\0’; } printf (“随机生成的字符串为:%s\n”,buffer); free...
  • 主要介绍了C语言中的wait()函数和waitpid()函数,注意其在中断进程方面用法的不同,需要的朋友可以参考下
  • C语言free函数

    2022-03-30 21:22:58
    free(需要加头函数 #include<stdlib.h>) 释放动态内存空间 函数原型: void free(void *ptr); free函数释放ptr参数指向的内存空间。该内存空间是由malloc、calloc或realloc函数申请的。否则,该函数将导致...
  • main函数的返回值用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出
  • C语言中的exit函数?

    2021-05-21 15:38:11
    一、exit() 解释:1、用于结束当前进程,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了...二、使用方法:1、当程序发现错误情况使它无法继续执行...
  • c语言绘制函数曲线

    2021-05-21 06:41:21
    该楼层疑似违规已被系统折叠隐藏此楼查看此楼我这种方法为什么图形只能显示一下就不见了,这是为什么?能不能用在双曲线上??能的话改哪里??#include#includefloat a,b,c,xmin,xmax,max; void menu(){printf("\n*...
  • c语言函数功能与用法函数名: abort功 能: 异常终止一个进程用 法: void abort(void);程序例:#include #include int main(void){printf("Calling abort()\n");abort();return 0; /* This is never reached */}函数名:...
  • 之前出过的文件FILE函数的小白篇,现在出一个全面一些的 以下讲解直接分为函数原型+函数作用+测试用例 让大家真真正正的理解和感受这几个FILE函数的作用 二话不说,开冲! 在这里再重复一下上一篇讲述过的几个基本...
  • C语言malloc函数详解

    2022-05-12 22:24:56
    一、首先malloc()和free()的用法及记忆应该对照着来看。 二、函数原型及说明: void *malloc:该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回⼀个空指针(NULL)。关于分配失败的...
  • 函数名: abort 功能: 异常终止一个进程 用法: voidabort(void); 程序例: #include <stdio.h> #include <stdlib.h> int main(void) { printf("Calling abort()\n"); abort(); return 0;/* This...
  • 一、exit()和atexit()函数 exit()退出程序。在main()函数返回系统时将自动调用exit()函数。 atexit()函数通过退出时注册被调用的函数提供这种功能,atexit()接受一个函数指针作为参数。
  • C语言函数讲解(一)

    2021-05-18 10:15:59
    C语言函数(一)谨记短暂的人生中,注定有很多人陪伴着你度过,陪你一起欢呼,陪你一起伤心流泪,陪你一起走过一条又一条的街道,或许他们并不是真真切切的,但是至少他们还在你身边。这个世界很大,但是却又很小,大...
  • C语言常用函数总结

    千次阅读 2018-12-22 08:19:52
    一 进程相关函数 1 exit、_exit和return   exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序...  在stdlib.h中exit函数是这样子定义的:void exit(int status)。这个系统调用是用来终止一个进...
  • C语言system函数用法

    千次阅读 2014-08-02 13:39:59
    以WINDOWS系统为例,通过system()函数执行命令和在DOS窗口中执行命令的效果是一样的,所以只要在运行窗口中可以使用的命令都可以用SYSTEM()传递,但要注意的是输入斜线时要输入两个,以名C语言当作转义字符处理。...
  • system()函数功能强大。以下小编就为大家介绍一下在C语言中system()函数用法。需要的朋友可以过来参考下,希望对大家有所帮助
  • c语言feof函数 C语言中的feof()函数 (feof() function in C) Prototype: 原型: int feof(FILE* filename); Parameters: 参数: FILE *filename Return type: int(0 or 1) 返回类型: int(0或1) Use of ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,353
精华内容 20,941
关键字:

c语言exit函数用法