将两个数进行交换,我们可以这样做:
1,创建一个临时变量,将其进行交换:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
int tmp= 0;
printf("请输入需要交换的两个数:\n");
scanf("%d %d",&i,&j);
tmp = i;
i = j;
j = tmp ;
printf("交换后的两个数为:%d %d\n",i,j);
return 0;
}
2,由于创建变量需要开辟空间,如果我们要求不创建临时变量的话,可以这样做:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b;
printf("请输入要交换的两个数:\n");
scanf("%d %d",&a,&b);
a = a+b;
b = a-b;
a = a-b;
printf("交换后的两个数为:%d %d",a,b);
return 0;
}
我们可以通过进行加减乘除来交换两个数,但是会有缺陷,于是我们可以采用另外一种方法....,,,
3,通过异或来将两个数交换
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 0;
int b = 0;
printf("请输入要交换的两个数:\n");
scanf("%d %d",&a,&b);
printf("交换前的数为:a = %d b = %d\n",a,b);
a = a^b;
b = a^b;
a = a^b;
printf("交换后的数为:a = %d b = %d\n",a,b);
return 0;
}