文学驿站

手机浏览器扫描二维码访问

第四十七章 指针二(第2页)

而我刚刚提出的要求是要交换两个是实际参数的变量,所以我们应该监控a和b在调用函数的前后的变化。

明白了老爹的意图后,我对代码进行了更改,然后重新编译、运行。

「what!

看到小黑屏上打印的结果后,我没有忍住喊了出来。

因为屏幕上打印的结果显示,a和b在调用swap函数前后居然没有任何变化!

我简直不敢相信自己的眼睛,这就好比你用计算器计算11的值,它妹的居然给你显示11=3!

为了委托期间,我重启了电脑又执行了几次,但是结果都是一样的!

换句话说,swap函数交换a和b的值失败了,但是函数分明已经是执行了的!

「老爹,这是怎么回事儿啊?」

我实在是想不通这其中的症结所在,只能够向老爹提问。

「这就要从函数参数的传递问题开始说起了。

在c语言中,我们在调用函数的时候,参数的传递实际上是采用的值的传递方式,什么意思呢?

就拿我们刚刚举那个例子来说,当我们在调用swap(a,b)的时候,实际上是把a的值3复制了一份给变量x,而不是a这个变量换了一个名字,变成了x。

同理,变量b的值4复制了一份给y。

而x和y跟a和b没有任何关系,所以在函数中无论我们对x和y做什么操作,都不会影响到a和b,所以对a和b进行值交换没有成功。

「原来如此!

那用指针为什么就能达到这个效果呢?」

我点了点头,然后抛出了自己的疑问。

「诶,我什么时候说了用指针可以实现这个功能?」

「虽然任叔叔你没有明说,但是你特地挖了一个坑让我和玥玥往里面跳,肯定是别有目的的。

既然现在咱们正好在学习指针,再加上刚刚我和玥玥都对指针的强大表示怀疑,你自然是要想办法来说服我们呀!

我还没有开口,小弦子倒是按捺不住了。

「你们两个……」

见自己的心思被我们看穿,老爹有些无语。

「好吧,那我先给你们演示用指针怎么来实现刚刚的功能:

swap(int*x,int*y)

本月排行榜
本周收藏榜
新书入库
热门小说推荐

...

...

...

...

...

...

每日热搜小说推荐