return、break,exit的总结

来源:互联网 发布:移动办公软件下载 编辑:程序博客网 时间:2024/06/08 15:36

return、break和exit


这三个有个共同的特点,就是可以让该句后面的语句不执行。

1.return

作用1:结束正在运行的函数,并返回函数值,函数的类型是什么,它返回的就是什么。

int fun{      return 2;}

这个时候fun函数的作用就是返回一个int类型的值,int a=fun()就相当于int a=2;



作用2:如果在程序中遇到return语句,那么代码就退出该函数的执行,返回到函数的调用处,如果是main()函数,那么结束整个程序的运行。

int main(){       int a,b,c;    if(a>b) {      if(b>c)   {       return printf(“the maximum num is %d",a);   }          ... }}        
在这里if(b>c),那么就可以得出a就是最大值,后面的语句就没有必要进行了,return就起到了结束程序的作用。


2.break

作用:break大多用于循环语句和开关语句中,当break用于开关语句switch中时,可使程序跳出switch,执行switch以后的语句;

   当break语句用于do-while、for、while循环语句中时,可使程序终止循环。而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环

3.exit
作用:
exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。
exit(0) 表示程序正常退出,exit⑴/exit(-1)表示程序异常退出。

在网上看了一下,发现还有个_exit()函数,exit()函数与_exit()函数最大的区别就在于 exit()函数在调用 exit 系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件。


下面举个例子来说明下三者不同之处:

#include<stdio.h>int main(){int i=0;while(i<10){if(i==5){    break;      //i=5时,循环退出执行循环体外的下一语句,即输出打印haha}printf("%d ",i);i++;}printf("haha\n");}

输出结果: 0 1 2 3 4 haha

#include<stdio.h>int main(){int i=0;while(i<10){if(i==5){    return;      //i=5时,退出该循环的执行,返回到函数调用处,即主函数,程序结束}printf("%d ",i);i++;}printf("haha\n");}
输出结果:0 1 2 3 4
#include<stdio.h>#include<stdlib.h>int main(){int i=0;while(i<10){if(i==5){   exit(0);  //i=5时,程序退出main()函数,程序结束}printf("%d ",i);i++;}printf("haha\n");}

输出结果: 0 1 2 3 4