拓冰建站拓冰建站
首页 / 资讯中心 / 正文

C语言三种跳转语句介绍,return和exit区分

文章目录一跳转语句1, break语句2continue语句3goto语句二return与exit函数的区别一跳转语句1, break语句break 语句只能用于switch语句和循环语句并且只能跳出一层break语句在三种循环语句中的应用2continue语句continue只结束本次循环break结束整个循环注意:continue语句有陷阱,在while和do_while语句中应将i移至if判断语句之前避免形成死循环3goto语句1,需要和标号语句一块使用2,并且只能在一个函数里面跳动不能跨函数跳动3,一般不建议使用使用时一般建议从上往下使用从下往上使用可能会导致语句的二义性intmain(){for(inti0;i100;i){if(i10){gotoFOR_END;}}//FOR_END:不可以写入循环语句的判断条件中去FOR_END:return0;}二return与exit函数的区别1exit函数和return在主函数中的作用相同都代表着函数的终止2exit函数在头文件stdlib.h中3程序的正常终止用exit0来表示因为0有些模糊因此C语言允许用exit(EXIT_SUCCES)来代替4exit(EXIT_FALURE)表示异常终止相同作为终止程序的方法return和exit在main函数中是等价的1,在 main 里returnn;和exit(n);效果几乎等价但有一个关键区别2,return从 main 返回时会先执行 main 的局部变量析构、清理栈帧然后由 C 运行时调用 exit。3,exit 是直接终止进程不会返回到 main 的调用者也不会执行 main 栈帧的正常返回流程。 在 C 语言里这个区别通常看不出来但在 C里return会调用 main 里局部对象的析构函数而 exit 不会调用局部对象的析构函数只调用 atexit 注册的函数和全局/静态对象的析构。所以严格说两者在 main 里也不完全等价。 对于纯 C 程序说“在 main 里等价”基本成立但要注意这个细节。差异是return仅仅在main中被调用才会终止程序而exit被任意一个函数调用都会终止程序的运行1,return是关键字/语句不是函数.exit 是函数。2,return仅仅在main()中被调用才会终止程序是对的3,在普通函数里return只是返回到调用者不会终止整个程序。4,exit 在任意函数里调用都会立即终止整个进程
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门