swap函数一般是一个程序员自定义函数。
成都创新互联公司长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为梨树企业提供专业的成都网站设计、成都网站制作,梨树网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
通常是实现两个变量数值的交换,用法比较广泛。
可使用临时变量实现交换;可通过临时指针变量实现交换;可借助指针加入临时变量来实现交换。
return 0;
}
swap1: x:4,y:3
swap2: x:4,y:3
swap3: x:3,y:4
swap4: x:4,y:3
swap5: x:3,y:4
swap6: x:4,y:3
swap7:ppx:3,ppy:4
拓展资料:
计算机中swap函数很多,在不同领域有不同的用法,但都是交换的意思。比如字符串交换swap操作实现交换两个容器内所有元素的功能。要交换的容器的类型必须匹配: 必须是相同类型的容器,而且所存储的元素类型也必须相同。调用了swap函数后,右操作数原来存储的元素被存放在左操作数中,反之亦然。
首先 这个 答案 是错的 ,
这样写 会直接 segmentation fault 先给你解释下
char *s1="abc"; 编译器会先 把 “abc” 这个 字符串 放到 ”常量区“ (值不能改) ,
在 分配一个 指针 s1 指向 “abc” 的 开头 也就是 ‘a’ 这个 字符 ,
那就是了 swap() 要改 常量区 的 东西 , 所以 会直接 segmentation fault
现在 把 char *s1="abc" 改成 char s1[]="abc"; 或者 假设 那个 内存可读
然后说后面的
刚才讲了 指针 只能 指向一个 地址 也就是 只能指向 一个 ‘点’
所以 s1 其实 是 指向 ‘a’ 这个 字符 *s1 操作的其实 是 ‘a’ 这个 字符
所以 第一个 字符 互相 交换了
这是一个自定义函数
例如:void
swap(int*p1,int*p2)
//*p1=a;*p2=b;
改变指针指向的地址的值,即a和b的值互换了
使a和b的值进行互换就是它的基本用法
这是一个自定义函数\x0d\x0a例如:void swap(int*p1,int*p2) //*p1=a;*p2=b;\x0d\x0a改变指针指向的地址的值,即a和b的值互换了\x0d\x0a使a和b的值进行互换就是它的基本用法
#include "stdio.h"
int swap(int *p,int n)
{int temp;
for(i=0;i=(n/2);i++)
{temp=*(p+n-i-1);
*(pn-i-1)=a[i];
a[i]=temp;
}
}
main()
{int a[100],n,i;
printf("shuru n\n");
scanf("%d",n);
printf("\n shuru shuzu a[]\n");
for(i=0;in;i++)
scanf("%d",a[i]);
for(i=0;in;i++)
printf("%d,",a[i]);
printf("\n");
swap(a,n);
printf("huhuan houshi\n");
for(i=0;in;i++)
printf("%d,",a[i]);
}
要用函数实现两个数的交换,则函数参数必须定义为指针形式,否则函数中对数值的修改将不会影响主调函数,这是C语言的规则。
所以,以整型为例,自定义函数书写如下:
void swap_int(int*a,int*b)
{
int t;
t = *a;
*a=*b;
*b=t;
}