#include<stdio.h>
#include<stdlib.h>
#define n 5
void put(int arr[],int i);
void change(int arr1[],int arr2[]);
void out(int arr[]);
int main()
{
int arr1[n],arr2[n];
int i=0;
//輸入
printf("輸入數組1的%d個數:\n",n);
put(arr1,i);
printf("輸入數組2的%d個數:\n",n);
put (arr2,i);
printf("交換後結果:\n");
//輸出
printf("\n數組1:");
out (arr1);
printf("\n數組2:");
out (arr2);
system("pause");
return 0;
}
{
//使用第三變量
int temp=0;
for(i=0;i<n;i++)
{
temp=arr1[i];
arr1[i]=arr2[i];
arr2[i]=temp;
}
/*
//使用異或運算
for(i=0;i<n;i++)
{
arr1[i]=arr1[i]^arr2[i];
arr2[i]=arr1[i]^arr2[i];
arr1[i]=arr1[i]^arr2[i];
}
*/
}
{
int i=0;
for(i=0;i<n;i++)
{
printf(" %d ",arr[i]);
}
}
{
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
}
#include<stdio.h>
#include<stdlib.h>
#define N 5
void put(char arr[],int i);
void change(char arr1[],char arr2[],int i);
void out (char arr[],int i);
int main()
{
char arr1[N],arr2[N];
int i=0;
char arr3[N]={"abc"};
char arr4[N]={"def"};
printf("交換前,字符串1:%s\n字符串2:%s\n",arr3,arr4);
for(i=0;i<N;i++)//字符串交換
{
arr3[i]=arr3[i]^arr4[i];
arr4[i]=arr3[i]^arr4[i];
arr3[i]=arr3[i]^arr4[i];
}
printf("交換後,字符串3:%s\n字符串4:%s\n",arr3,arr4);
printf("\n**************************\n");
//輸入
printf("輸入數組1的%d個字符:\n",N);
put(arr1,i);
printf("輸入數組2的%d個字符:\n",N);
put (arr2,i);
printf("交換後字符結果:\n");
//輸出
printf("\n數組1:");
out (arr1,i);
printf("\n數組2:");
out (arr2,i);
return 0;
}
{
//printf("輸入數組1中的%d個變量\n",N);
for(i=0;i<5;i++)
{
scanf("%c",&arr[i]);//連續從緩衝區讀取所有字符
//不加getcher()函數讀取一個字符,字符應連續輸入,不可用空格和回車(因爲其也算字符)
getchar();
}
{
for(i=0;i<N;i++)//字符串交換
{
arr1[i]=arr1[i]^arr2[i];
arr2[i]=arr1[i]^arr2[i];
arr1[i]=arr1[i]^arr2[i];
}
}
{
for(i=0;i<N;i++)
{
printf(" %c ",arr[i]);
}
}