void swap_array(int *pa,int *pb);
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的肥鄉(xiāng)網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
main(){
int x[]={0,1,2,3,4};
int y[]={5,6,7,8,9};
swap_array(x,y);
int i;
for(i=0;i5;i++)
printf("%d",x[i]);
printf("\r\n",x[i]);
for(i=0;i5;i++)
printf("%d",y[i]);
scanf("%d",i);
}
void swap_array(int *pa,int *pb){
int n;
n= sizeof(pa);
int c;
int i;
for(i=0;i=n;i++){
c=*pa;
*pa=*pb;
*pb=c;
++pa;
++pb;}
}
逐個元素交換即可。
前提是兩個數(shù)組必須有同樣的長度
否則無法交換。
函數(shù)如下:
void?swap_array(int?*a,?int?*b,?int?l)
{
int?i,?t;
for(i?=?0;?il;?i?++)
{
t?=?a[i];
a[i]?=?b[i];
b[i]?=?t;
}
}
構(gòu)建好兩個等長數(shù)組,調(diào)用這個函數(shù)就可以
a和b是兩個數(shù)組名, l為數(shù)組元素個數(shù),即長度。
#include stdio.h
#define N 10
void Swap ( int *a, int *b, int n);
int main(void)
{
int *a, *b;
int num1[N], num2[N];
for (a = num1; a num1 + N; a++)
scanf ("%d", a);
for (b = num2; b num2 + N; b++)
scanf ("%d", b);
a = num1;//重新指向首地址
b = num2;//重新指向首地址
Swap (a, b, N);
printf ("*********交換后**********\n");
for (a = num1; a num1 + N; a++)
printf ("%3d", *a);
printf ("\n");
for (b = num2; b num2 + N; b++)
printf ("%3d", *b);
return 0;
}
void Swap (int *a, int *b, int n)
{
int temp;
int i;
for (i = 0; i n; i++)
{
temp = *(a + i);
*(a + i) = *(b + i);
*(b + i) = temp;
}
}
C語言中交換兩個字符串需要借助strcpy函數(shù)或者使用自定義交換函數(shù)進行交換
如交換a,b數(shù)組中的字符串代碼:
char a[10] = "abed", b[10] = "efg", t[10];strcpy(t, a);//a復制給tstrcpy(a, b);//b復制給astrcpy(b, t);//t復制給b
附:strcpy函數(shù)詳情
原型聲明:
char *strcpy(char* dest, const char *src);
頭文件:
#include string.h 和 #include stdio.h
功能:把從src地址開始且含有NULL結(jié)束符的字符串復制到以dest開始的地址空間
說明:src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。返回指向dest的指針。
使用memcpy直接將數(shù)組中的數(shù)據(jù)進行交換。
int?a[100],?b[100];
int?t[100];
memcpy(t,a,sizeof(a));
memcpy(a,b,sizeof(b));
memcpy(b,t,sizeof(t));