C語言練習篇-2交換兩個變數的值
阿新 • • 發佈:2019-01-27
練習:交換兩個變數的值。
方法一:中間變數
#include <stdio.h>
int main()
{
int a=10;
int b=4;
printf("a=%d,b=%d\n",a,b);
//定義一箇中間變數來完成兩個變數之間的交換
int temp;
temp=a;
a=b;
b=temp;
printf("a=%d,b=%d\n",a,b);
return 0;
}
方法二:巨集定義
#include<stdio.h>
// 定義一個交換兩個數的巨集
#define SWAP(x,y,temp) ((temp) = (x),(x) = (y),(y) = (temp))
int main()
{
int a=10;
int b=4;
printf("a=%d,b=%d\n",a,b);
int temp;
SWAP(a, b, temp);
printf("a=%d,b=%d\n",a,b);
return 0;
}
方法三:算術運算
#include<stdio.h>
int main()
{
int a=10;
int b=4;
printf("a=%d,b=%d\n",a,b);
a=b-a;//a=-6
b=b-a;//b=10
a=a+b;//a =4
printf("a=%d,b=%d\n",a,b);
return 0;
}
方法四:位運算
#include<stdio.h>
int main()
{
int a=10;
int b=4;
printf("a=%d,b=%d\n",a,b);
a = a^b;
b = b^a;//b = b^a^b = a
a = a^b;
printf("a=%d,b=%d\n",a,b);
return 0;
}