请问下面这段代码中指针变量c 指针变量b 两次a=c,main函数中a=b是什么意思和起什么作用呢
#include<iosteram>
using namespace std;
void change(int *&array)
{
int
}
int main(){
int i,j,k;
int (*array)[3]=new int[3][3];
array[3][3]={{1,2,3},{4,5,6}{,8,9}};
#include<iostream>
using namespace std;
void change(int *&a)
{
int b[3][3],i,j;
int *c=a;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
b[i][j]=*a;
a++;
}
}
a=c;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
*a=b[j][i];
a++;
}
}
a=c;
}
void print(int *a)
{
for(int i=0;i<9;i++)
{
cout<<*a<<" ";
a++;
if((i+1)%3==0)
cout<<endl;
}
}
int main(void)
{
int i,j;
int *a,*b;
a=(int *)new int[3][3];
b=a;
cout<<"请依次输入距阵中的元素:"<<endl;
for(i=0;i<9;i++)
{
cin>>*a;
a++;
}
a=b;
cout<<"此距阵中的元素为:"<<endl;
print(a);
change(a);
cout<<"经过转置后此距阵为:"<<endl;
print(a);
}
a初始是指向数组的首地址
c=a是让c也指向数组的首地址
在循环中不断a++让a移动指向下一个元素的地址,在循环之后a指向了数组的结尾
a=c是再次让a重新指向数组的首地址,好方便下一次循环
a=b也是一样的作用
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!