重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include#include int main() { int a = 1; int b = 2; int tmp = a; a = b; b = tmp; printf("a = %d b = %d\n",a,b); system("pause"); return 0; }
上面是用创建中间变量的方法交换,下面是不创建中间变量的另一种方法:
成都创新互联-专业网站定制、快速模板网站建设、高性价比安居网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式安居网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖安居地区。费用合理售后完善,十多年实体公司更值得信赖。
a = a+b; b = a-b; a = a-b; 当然还可以用异或: a = a^b; b = a^b; a = a^b; 以上都是在main函数中实现,下面一种方法创建了函数,用指针来交换两个整型值: #include#include void Swap(int *p1, int *p2) { int tmp = *p1; *p1 = *p2; *p2 = tmp; } int main() { int a = 1; int b = 2; Swap(&a, &b); printf("a = %d b = %d\n",a,b); system("pause"); return 0; } 然而如果Swap函数写成下面这样是错误的,只是进行了值传递,上面的方法传的是地址 void Swap(int num1, int num2) { int tmp = num1; num1 = num2; num2 = tmp; }