程序员成长之旅——c语言给定两个整形变量的值,将两个值的内容进行交换。
用c语言实现这道题大体分为两种情况,一种是加变量另一种是不加变量。
1.含有变量
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 2, b = 4, c = 0;
c = a;
a = b;
b = c;
printf(" a=%d\n b=%d\n ", a, b);
system(“pause”);
return 0;
}
2.不含变量
(1)加减法
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 2, b = 4;
a = a + b;
b = a - b;
a = a - b;
printf(“a=%d\nb=%d\n”, a, b);
system(“pause”);
return 0;
}
(2)异或法(同号为0,异号为1)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = 2;//0010
int b = 4;//0100
a = a ^ b;//0110
b = b ^ a;//0010
a = b ^ a;//0100
printf(“a=%d,b=%d\n”, a, b);
system(“pause”);
return 0;
}
以上既是我所想到的用c求解。