給定兩個變數將兩個變數的值內容進行交換的三種方法
阿新 • • 發佈:2018-12-19
建立一個void swap(int a,int b){}函式,賦值作為被調函式
void swap(int *p1,int *p2) { int tmp = *p1; int *p1 = *p2; int *p2 = tmp; } int main() { int num1 = 10; int num2 = 20; printf("請輸入num1,num2"); scanf(&num1, &num2); int num1 = &p1; int num2 = &p2; swap( num1, num2) printf("輸出num1,num2"); }
不建立臨時變數,通過變數轉換實現變數內容的交換
int main() {
int num1, num2;
printf("請輸入連個數");
int num1 = num1 + num2;
int num2 = num1 - num2;
int num1 = num1 - num2;
printf("請輸出兩個數\n");
scanf("&num1,&num2");
system("pause");
return 0;
}
通過位運算實現,變數內容的交換
int main() { int a, b; scanf_s("%d%d", &a, &b); a = a ^ b; b = a ^ b; a = b ^ a; printf("a=%d\n", a); printf("b=%d\n", b); system("pause"); return 0; }