两整形变量交换值(创建临时变量)
#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;}
