两变量数值交换
#1、最基本的交换,利用第三变量做中间变量
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, j;
printf("请输入a的值\n");
scanf("%d", &a);
printf("请输入b的值\n");
scanf("%d", &b);
j = a;
a = b;
b = j;
printf("a=%d,b=%d\n", a, b);
system("pause");
return 0;
}
#2、不用第三变量有两种方法下面列举
a、利用加减达到两数交换
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b;
printf("输入a\n");
scanf("%d", &a);
printf("输入b\n");
scanf("%d", &b);
a = a + b;
b = a - b;
a = a - b;
printf("a=%d,b=%d", a, b);
system("pause");
return 0;
}
b、用异或来达到目的,C语言中异或是二进制逐位异或
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b;
printf("输入a\n");
scanf("%d", &a);
printf("输入b\n");
scanf("%d", &b);
a = a^b;
b = b^a;
a = a^b;
printf("a=%d,b=%d", a, b);
system("pause");
return 0;
}