#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]);
}
}