首页 > 代码库 > 1交换
1交换
#include "swap.h"#include <stdio.h>#include <iostream>using namespace std;#define swap_m(x,y,t) ((t)=(x),(x)=(y),(y)=(t)) // #define后面不要加 分号;void swap(int x,int y);void swap_p(int *px,int *py);int main(){ int a,b,temp; a=1; b=10; printf("交换前:a=%d,b=%d\n\n\n",a,b); //方法1 printf("通过临时变量交换---->完成值传递交换\n"); temp=a; a=b; b=temp; printf("交换后:a=%d,b=%d\n\n\n",a,b); //方法2 a=1; b=10; swap(a,b); printf("交换后:a=%d,b=%d\n\n\n",a,b); //方法3 a=1; b=10; swap_p(&a,&b);//不要忘记&符号 printf("交换后:a=%d,b=%d\n\n\n",a,b); //方法4 printf("通过define宏交换---->完成值传递交换\n"); a=1; b=10; swap_m(a,b,temp); printf("交换后:a=%d,b=%d\n\n\n",a,b); printf("hello world...\n"); system("pause"); return 0;}//默认按值传递,所以只会传a,b的拷贝,不会修改a,b本身void swap(int x,int y){ int temp; temp = x; x = y; y =temp; printf("拷贝---->完成值传递交换\n");}//指针也是值传递,只不过形参和实参指向的都是同一个内存地址,所以才能够修改实参的值...记住了哦void swap_p(int *px,int *py){ int temp; temp = *px; *px = *py; *py = temp; printf("指针---->完成值传递交换\n");}
1交换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。