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
作用:
下面举个例子来说明下三者不同之处:
输出结果: 0 1 2 3 4 haha
输出结果: 0 1 2 3 4
3.exit
作用:
exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束,跳回操作系统。
exit(0) 表示程序正常退出,exit⑴/exit(-1)表示程序异常退出。
在网上看了一下,发现还有个_exit()函数,exit()函数与_exit()函数最大的区别就在于 exit()函数在调用 exit 系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件。
在网上看了一下,发现还有个_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