c语言swap函数纠错 c语言的swap函数

c语言中swap是个什么函数?

1、swap函数一般是一个程序员自定义函数。通常是实现两个变量数值的交换。比如 int a = 2;int b =3;swap(a,b); //一般用到变量数值交换,交换后a=3 b = 2;实现的方法多种多样。

创新互联网站建设公司,提供成都网站设计、成都做网站,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

2、swap函数一般是一个程序员自定义函数。通常是实现两个变量数值的交换。swap1(x,y);printf(swap1: x:%d,y:%d\n,x,y);//形参传值,不能交换,实际传过去是拷贝的一份,没改变主函数中x,y。

3、作用:swap的意思是交换两个变量的值,是一个自定义函数。用法:使a和b的值进行互换。例如:void swap(int*p1,int*p2) //*p1=a;*p2=b;改变指针指向的地址的值,即a和b的值互换。

4、swap不是C语言的标准库函数,是用户自定义的函数。swap(a,b)多用于交换a和b的值。

c语言为什么这个swap函数是错的?

C语言的参数本身是不能改的。如果参数是地址,可以改变该地址内的值,但是不能改变地址本身。

swap函数中,未初始化指针t就对t解引用。

你好,swap函数调用完之后x,y的值会被释放的,并没有达到数据交换的目的,即 形参改变不影响实参,所以请传入地址。

{ int *temp;temp=x;x=y;y=temp;} 这个函数里面是改变了x和y指针所指向的值,但返回主函数时,x和y指针所指向的值不会因为swap()函数的改变而改变。

C语言中swap函数是自定义的函数,C标准库里没有swap函数。swap函数是用来交换的函数,经常在C语言中排序中会用到。

我定义的swap函数哪里出问题了(初学者)?

swap是C++函数库里里面的一个用来交换2个数的函数,你用这个,系统会自动调用C++函数库里面的函数,而不是你自己写的函数。

你将temp指针赋初值0,即NULL,意味着temp没有指向有意义的地址,其实指向0X00000000,但是那个地方你不能用,也就是说*temp无法赋值。

void swap(int *p1,int *p2) //函数的作用是将*p1的值与*p2的值交换 { int temp=0; //temp不需要定义成指针,因为它是用来存储p1中的数据的,所以只需要用一个整型变量就可以了。

不可以改变地址的。把地址转变成int也是会把高位截掉的。C语言的参数本身是不能改的。如果参数是地址,可以改变该地址内的值,但是不能改变地址本身。

原因是swap函数里面的x,y都是形参,函数里面对形参的地址进行了交换,这并没有交换main函数中的a,b这两个变量指向的地址。


网站栏目:c语言swap函数纠错 c语言的swap函数
分享地址:http://hbruida.cn/article/diodioo.html