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

