如何交换两个数组的元素,用指针
5个回答
展开全部
先初始化m,n的值
char *p1=a[n];
char *p2=b[m];
char p3;
if(*p1!=‘\0’&&*p1!=‘\0’)
{
p3=*p1;
*p1=*p2;
*p2=p3;
p1++;p2++;
}
char *p1=a[n];
char *p2=b[m];
char p3;
if(*p1!=‘\0’&&*p1!=‘\0’)
{
p3=*p1;
*p1=*p2;
*p2=p3;
p1++;p2++;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过一个缓冲区就可以,这样写,(以int型数组为例)
int *p1=a[10];
int *p2=b[10];
int p3;
for(int i=0;i<10;i++)
{
p3=*(p1+i);
*(p1+i)=*(p2+i);
*(p2+i)=p3;
}
int *p1=a[10];
int *p2=b[10];
int p3;
for(int i=0;i<10;i++)
{
p3=*(p1+i);
*(p1+i)=*(p2+i);
*(p2+i)=p3;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼已经写的很清楚了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个数组交换需要第三个数组过度:
int a[5]={1,2,3,4,5},b[5]={0,0,1,1,1};//赋值之后,a数组会被修改
int c[5];
int *p=c,*s=b;
while(int i=0;i<5;i++)
c[i]=a[i];
while(int j=0;j<5;j++)
{
a[j]=*s;
*s=*p;
s++;
p++;
}
int a[5]={1,2,3,4,5},b[5]={0,0,1,1,1};//赋值之后,a数组会被修改
int c[5];
int *p=c,*s=b;
while(int i=0;i<5;i++)
c[i]=a[i];
while(int j=0;j<5;j++)
{
a[j]=*s;
*s=*p;
s++;
p++;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询