两整形变量交换值(创建临时变量)
#include<stdio.h>
int main()
{
int num1 = 10;
int num2 = 20;
int tmp = 0;
scanf("%d%d", &num1, &num2);
printf("num1 = %d, num2 = %d", &num1, &num2);
tmp = num1;
num1 = num2;
num2 = tmp;
printf("num1 = %d,num2 = %d", &num1, &num2);
return 0;
}
交换两整形变量的值(不创建临时变量)
第一种:
#include<stdio.h>
int main()
{
int num1 = 10;
int num2 = 20;
int tmp = 0;
printf("num1 = %d, num2 = %d", &num1, &num2);
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
printf("num1 = %d,num2 = %d", &num1, &num2);
return 0;
}
第二种:
#include<stdio.h>
int main()
{
int num1 = 10;
int num2 = 20;
int tmp = 0;
printf("num1 = %d, num2 = %d", &num1, &num2);
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
printf("num1 = %d,num2 = %d", &num1, &num2);
return 0;
}