c语言函数指针交换xy C语言指针交换

c语言,指针,角色互换 求解

第一个传的是值换的是函数里的新的xy,第二个传的是地址,地址指向xy,因此做交换后,里面内容就换了呗,没有生成新的xy

成都创新互联公司专业为企业提供市中网站建设、市中做网站、市中网站设计、市中网站制作等企业网站建设、网页设计与制作、市中企业网站模板建站服务,10余年市中做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

C语言用指针法交换两个数的顺序问题

解答:

1.    注意形式参数和实际参数的区别,主函数中的x,y是实际参数,swap函数中的a,b是形式参数。他们各有自己的存储空间,互不干扰。

2.    在程序适当位置加上输出地址的语句,即可看出为什么回到主程序后,x,y的值为什么不交换。

为了更形象,可以用图表示它们的关系:

可见,交换的只是swap函数中的a,b值,对主函数中的a,b值没有影响。

3.    修改的方法,将swap的交换变成值的交换。

c语言 用指针实现两个数的交换

int swap(int *a,int *b)//a与b分别复制主函数x与y的值,即a与x的指向相同,b与y的指向相同

{

int *t;

{t=a;a=b;b=t;}//通过交换,a和y的指向相同,b与x的指向相同,但是,x与y没有改变原来指向,这样函数swap结束,a与b消失,输出结果不变

}

换成

int t;

{t=*a;*a=*b;*b=t;}//将改变x和y指向的地址的值,达到交换目的

C语言中如何交换两个指针变量的的值

1、首先,就是最基本的知识,写头文件、函数声明、定义变量。

2、下面还需要定义指针,需要定义两个指针p1和p2,然后把a的地址赋值给p1,把b的地址赋值给p2。

3、然后就是调用函数,该函数没有返回值,就直接调用,但是参数进入的是a和b的地址,而不是a和b。

4、函数点用完之后,就是输出a和b的值看一看是否互换了。

5、首先,a和b的地址传给x和y,通过指针直接对a和b的值进行操作。

6、最后,就是调换*x和*y的值,这样就是实现了a和b的值。

c语言的题。要求函数的功能是交换x与y的值,……请讲下原因,谢谢

A错:y值没变;B错:传的不是指针,x和y都不变;C错:和A一样,y不变;D正确:传的是指针,通过x和y的地址交换它们的值。


名称栏目:c语言函数指针交换xy C语言指针交换
新闻来源:http://myzitong.com/article/hjcdii.html