【码蹄集新手村 600 题】判断俩个矩阵是否相等,以及 exit 与 return 的区别

发布于:2023-01-12 ⋅ 阅读:(243) ⋅ 点赞:(0)

题目链接:

 

解题思路:

  • 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 示例 :

//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 示例:

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<bits/stdc++.h> 

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;

}

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到