- 1. exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束
exit(0)表示进程正常退出. 返回 0;
exit(1)表示进程非正常退出. 返回 1.
- 2. exit与return的区别
exit()函数与return语句的最大区别在于,
调用exit()函数将会结束当前进程,
同时删除子进程所占用的内存空间,把返回信息传给父进程。
当exit()中的参数为0时,表示正常退出,其他返回值表示非正常退出,
执行exit()函数意味着进程结束;
而return仅表示调用堆栈的返回,
其作用是返回函数值,并且退出当前执行的函数体,返回到函数的调用处,
在main()函数中, return n和exit(n)是等价的。
- //return示例1:
-
- int print()
-
- {
-
- int n;
-
- n = 0;
-
- printf("使用return来结束循环\n");
-
- while(1)
-
- {
-
- if(9==n)
-
- return n;
-
- n++;
-
- }
-
- return 0;
-
- }
-
-
- void main(void)
-
- {
-
- int ret;
-
- printf("调用print()函数之前\n");
-
- ret = print();
-
- printf("print()函数的返回值ret=%d\n",ret);
-
- printf("调用print()函数之后\n");
-
- return ;
-
- }
-
- /*运行结果:
- 调用print()函数之前
- 使用return来结束循环
- print()函数的返回值ret=9
- 调用print()函数之后
- 在上面的代码中,用return语句来退出while死循环,
- 在main()函数中print()函数的调用处将返回值赋给ret,
- 打印输出后可以看到使用return语句成功地返回了9。*/
- exit示例2:
-
- void print()
-
- {
-
- int n;
-
- n = 0;
-
- printf("使用exit来结束循环\n");
-
- while(1)
-
- {
-
- if(9==n)
-
- exit(1);
-
- n++;
-
- }
-
- return ;
-
- }
-
-
- void main(void)
-
- {
-
- int ret;
-
- printf("调用print()函数之前\n");
-
- ret = print();
-
- printf("print()函数的返回值ret=%d\n",ret);
-
- printf("调用print()函数之后\n");
-
- return ;
-
- }
-
- /*运行结果:
- 调用print()函数之前
- 使用exit来结束循环从以上代码可以看出,
- 如果执行exit()函数后能够返回到main()函数的调用处,
- 那么可以打印出接下来的信息“调用print()函数之后”,
- 但是运行结果表明在调用exit()函数之后没有任何输出,
- 所以执行exit()函数之后将直接结束整个程序的运行。*/
- #include
-
- using namespace std;
-
- int main( )
- {
- int arr1[4][4] = {0};
- int arr2[4][4] = {0};
-
- for(int i = 0;i < 4;i++)
- {
- for(int j = 0;j < 4;j++)
- {
- cin >> arr1[i][j];
- }
- }
-
- for(int i = 0;i < 4;i++)
- {
- for(int j = 0;j < 4;j++)
- {
- cin >> arr2[i][j];
- }
- }
-
- for(int i = 0;i < 4;i++)
- {
- for(int j = 0;j < 4;j++)
- {
- //cin >> arr2[i][j];
- if(arr1[i][j] != arr2[i][j])
- {
- cout << "NO" << endl;
- exit(0);//参数为 0 表示程序正常退出
- }
-
- }
- }
-
- cout << "YES" << endl;
-
-
- return 0;
-
- }