linux gcc 4.4.1 C99
我只是想知道使用下面的技术有什么好处。我注意到,在读取一些代码时,退出编号的值增加了,如下面的代码片段所示。
/* This would happen in 1 function */
if(test condition 1)
{
/* something went wrong */
exit(1);
}
if(test condition 2)
{
/* something went wrong with another condition*/
exit(2);
}
或者执行以下操作,然后返回:
/* This would happen in 1 function */
if(test condition 1)
{
/* something went wrong */
return;
}
if(test condition 2)
{
/* something went wrong with another condition*/
return;
}
发布于 2009-12-29 04:46:28
exit()退出整个程序,并报告传递给它的参数。这允许任何正在运行您的程序的程序找出错误退出的原因。(1可能意味着连接数据库失败,2可能意味着意外的参数,等等)。
Return只返回你所在的当前函数,而不是整个程序。
发布于 2009-12-29 04:46:31
return
基本上会从函数返回,并适当地调整堆栈指针以执行下一条指令,其中as exit
将导致程序本身终止。
在函数中使用exit()
表示发生致命错误,程序无法恢复和继续,因此必须终止。
发布于 2009-12-29 04:43:35
exit
不会从函数返回。它将从整个程序中退出
https://stackoverflow.com/questions/1972953
复制相似问题