交换两个数的内容。
1.1创建临时变量
(1)创建变量直接使用
#include <stdio.h>
int main()
{
int a=10;
int b=20;
int t;
t=a;
a=b;
b=t;
printf("a=%d,b=%d\n",a,b);
return 0;
}
(2)创建临时变量,函数调用
#include <stdio.h>
void swap(int *a, int *b);
int main()
{
int a = 10;
int b = 20;
swap(&a,&b); //函数调用
printf("a=%d,b=%d\n",a,b);
return 0;
}
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
1.2 不需创建临时变量
(1) 异或
#include <stdio.h>
int main()
{
int a=5; //0101
int b=3; //0011
a=a^b; //0110
b=a^b; //0101
a=a^b; //0011
printf("a=%d\nb=%d\n",a,b);
return 0;
}
(2)加减法
#include <stdio.h>
int main()
{
int a=10;
int b=20;
a=a+b;
b=a-b;
a=a-b;
printf("a=%d\nb=%d\n",a,b);
return 0;
}
注:一般不用加减法,可能会发生溢出。
本文出自 “一起去看星星” 博客,转载请与作者联系!
原文:http://10810429.blog.51cto.com/10800429/1704992