兩個數組交換(用指針)
void Swap(int *x[],int *y[]);
int main()
{
?int i,j;
?int x[3]={1,2,3};
?int y[3]={4,5,6};
Swap(&x[3],&y[3]);
?for(i=0;i<3;i++)
?{
??printf("%d",x[i]);
?}
?for(j=0;j<3;j++)
?{
??printf("%d",y[j]);
?}
}
void Swap(int *x[],int *y[])
{
?int temp[3]={0,1,2};
? temp[0]=*x[0],temp[1]=*x[1],temp[2]=*x[2];
?*x[0]=*y[0],*x[1]=*y[1],*x[2]=*y[2];
?*y[0]=temp[0],*y[1]=temp[1],*y[2]=temp[2];?
}
?為什么無法打印出來?????
2018-12-01
你應該這樣改
#include <stdio.h>
void Swap(int x[],int y[]);
int main()
{
?int i,j;
?int x[3]={1,2,3};
?int y[3]={4,5,6};
Swap(x,y);
?for(i=0;i<3;i++)
?{
? printf("%d",x[i]);
?}
?for(j=0;j<3;j++)
?{
? printf("%d",y[j]);
?}
}
void Swap(int x[],int y[])
{
?int temp[3];
? temp[0]=x[0],temp[1]=x[1],temp[2]=x[2];
?x[0]=y[0],x[1]=y[1],x[2]=y[2];
?y[0]=temp[0],y[1]=temp[1],y[2]=temp[2];
}