我应该使用exit()还是只是return声明main()?我个人赞成这些return陈述,因为我觉得这就像在阅读代码时读取任何其他功能和流量控制一样顺畅(在我看来).即使我想重构main()函数,return看起来似乎是一个更好的选择exit().
做一些exit()不特别的事return吗?
我知道return和exit()(链接)之间的区别,但我不知道在何时何地选择一个而不是另一个.例如,根据这个答案,我理解这return是一个更好的选择,但从另一个我理解相反.
一个例子:在这个代码中(来自这个问题)是否优先使用exit()或return?
int read_file (char *filename, int **vet)
{
FILE *fin;
if ( !(fin = fopen(filename, "r")) )
{
perror(filename);
return -1;
}
* vet = malloc (10 * sizeof(int));
if ( *vet == NULL )
{
perror("Memory allocation error.\n");
return -2;
}
/* ... */
return fclose(fin);
}
int main ()
{
char filename[100];
int *vet;
if ( read_file(filename, &vet) ) …Run Code Online (Sandbox Code Playgroud)