fgh最近学了指针,搞懂了一点指针的知识,想写一个将2*2矩阵两组对角数交换的程序。但他不满足于此,他不仅要用指针,还要用得花里胡哨,将尽可能多的知识放进去。请完善下面fgh写的代码
#include<iostream> using namespace std; int fun1(int a[],int *b[])//b是int ** { int *t=a; a=_____(1)______ int tmp=*(a+1); *(a+1)=*t; *t=tmp; } int fun2(int &a,int *n) { int *t=n; a=*n; *n=*t; *t=a; return *n; } int main() { ______(2)_____//要开辟一个二维数组的空间,先开辟一个一维指针型数组,用于存放二维数组各行首元素的地址 for (int i=0;i<2;i++) { _____(3)_____//每个单元的存放新开辟的一维int型数组的首地址 } for (int j=0;j<=1;j++) _____(4)_______ for (int j=0;j<=1;j++) cin>>*(*(arr+1)+j); //对主对角线上的数操作 fun1(arr[0],arr);//*(arr+0) //对另外一组对角线上的数操作 int a=arr[0][1]; int b=arr[1][0]; int c=fun2(a,&b); arr[1][0]=_____(5)_____//想想a,b,c的值是什么。 arr[0][1]=a; for (int i=0;i<=1;i++) { for (int j=0;j<=1;j++) { _____(6)________ } cout<<endl; } for(int i=0;i<2;i++) { delete [] arr[i]; } delete arr; }