C语言如何使用函数交换两个变量的值
生活随笔
收集整理的這篇文章主要介紹了
C语言如何使用函数交换两个变量的值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數交換變量值
首先咱們先來看一下平常咱們會想到的一個方法
定義一個臨時變量來交換數值
然后 咱們來看一下運行的結果:
發現 a,b的值居然沒有改變???
這是為什么呢?
咱們記住一句話
原因是:形參是實參的一份拷貝
就像咱們平常的文件一樣拷貝一份出來,我們修改拷貝后的文件2,改了文件2里面的內容 。但是這和原來的文件有什么影響呢?對吧 所以說這個函數只實現了 交換形參里面的內容 對于實參沒有任何影響的呢。
再來說一下在函數調用過程中,如果有形參,實際是重新開辟出一塊內存空間來存儲東西的。
接下來畫一張圖:
先把 X的值賦給temp
然后將y的值賦給x
然后將temp的值賦給y 就完成了交換
但是我們看 交換的只是形參的值和實參沒有關系😂😂😂
那么我們就要想到使用傳址調用,借助指針,就可以很好的解決這一問題:
現在就可以了
這又是為什么呢?
其實就是使用了指針存儲地址的操作
圖我就不畫了 相信你們也能理解 實在是太多了 😭😭😭😭
最后附上一個最近寫的一到題目:使用遞歸方法使一個字符串逆序。也是使用指針操作,不過就不是直接操作里面的值了,是改指針的指向。
相信童鞋們也能理解😁😁😁
C語言驚天大bug
數組作為函數參數的時候,會被隱式轉換成一個指向首元素的指針
總結
以上是生活随笔為你收集整理的C语言如何使用函数交换两个变量的值的全部內容,希望文章能夠幫你解決所遇到的問題。