
方法一:
main()函数写成int型的,即int main()
然后结束的时候
只需return 0;
代表程序正常结束
方法二:
利用
if(条件)
exit();
if语句条件满足时退出程序。
有三种方式可以终止线程,具体调用函数依赖于使用的线程系统。
1 在线程入口函数中,调用return。 即退出线程入口函数,可以实现终止当前线程效果;
2 在线程执行的任意函数,调用当前线程退出函数,可以退出当前线程;
3 在任意位置,调用线程终止函数,并传入要终止线程的标识符,即pid,可以实现终止对应线程效果。
这比较麻烦,需要在汇编一级进行编程了,因为:
调用第1个函数时,c语言编译程序会自动加入若干保护调用现场的压栈语句,所以从这个函数返回时会返回到调用者(比如说是main);
现在函数1又调用函数2,又有若干保护现场的动作被执行,你从函数2返回利用栈只能返回函数1,若想再返回函数1的调用点需要从函数1执行返回语句;
所以说函数2无法从c代码的层次得到调用函数1时在栈中的调用点数据。
这个任务只能通过返回值传达给调用者尽快返回,而不能由嵌套被调用者直接跳层返回。
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
解析:
exit(正常结束进程)
相关函数 _exit,atexit,on_exit
表头文件 #include<stdlibh>
定义函数 void exit(int status);
函数说明 exit()用来正常终结目前进程的执行,并把参数status返回给父进程,而进程所有的缓冲区数据会自动写回并关闭未关闭的文件。
返回值
程序中途跳出,和结束是两个不同的概念。
1 要使程序中途跳出,可以使用return语句,跳出该函数。
如
int fun(int n){
int i;
if(n<0) return -1;// 在n为负数下,提前退出该函数。
//执行正常功能。
for(i=0;i<n;i++)
printf("%d ", i);
}
2 要使程序提前结束, 可以调用exit()函数。
如
int fun(int n){
int i;
if(n<0) exit(-1);// 在n为负数下,提前结束程序。
//执行正常功能。
for(i=0;i<n;i++)
printf("%d ", i);
}
3 二者区别:
a) 使用exit函数,会结束整个程序。 而使用return只是结束当前函数,还会到主调函数处继续运行。
b) 在main函数中使用return语句,等效于调用exit函数,同样会结束程序。
c) 调用exit函数时,需要引用头文件stdlibh。
最简单的方法,将n1,n2,n3定义为全局变量,放在#include
的下面
#include
int
n1,
n2,
n3;
在main函数和find函数中将n1,n2,n3的定义都去掉,这样就可以了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)