>> DAVID J.馬蘭：讓我們在寫一個程序 我們嘗試交換的價值
兩個變量，x和y。
事先，我已經寫了很多 這一計劃已經的。
首先，我聲明了一個變量x， 並存儲在它的價值，1。
然後我聲明變量y和 在其存儲的值，2。
>> 然後，我繼續printf顯示 這兩個變量的值。
然後我要求與其他的printf 將交換這些變量。
然後，我調用了交換功能。
然後我要求的變量 已互換。
然後我打印出了什麼我要求 是x和y的新值。
>> 那麼什麼是這個函數swap？
這不是自帶的C。 事實上，如果我們看一下頂部我
文件，你會發現，我已經聲明 原型為這個函數swap
指定，它需要兩個整數， 任意地稱為a和b，並且此
函數不返回任何東西。
因此推測，它做什麼，它說 在掉期和b的值。
現在讓我們來實現交換。
>> 首先，我要聲明一個臨時 變量，並分配給它
在a的值，雖然我可以只 因為容易儲存在裡面灣
我當時要去改變數值 的是等於b中。
然後最後，我要改變 的B值是什麼了，但
現在的溫度。
>> 現在，我要求什麼我剛剛做 在邏輯上是正確的。
我已經存儲在一個臨時變量， 改變了的值是B的，然後
改變B的值是什麼的了。
但是，當我編譯並運行此 程序，我擔心這不是
將我所看到的。
>> 作，沒有交換。
點斜線，沒有交換。
不幸的是，根據printf的， x和y的值，即使
之後我們聲稱要交換 它們仍然是1和2。
>> 現在，這是為什麼？
嗯，事實證明，在主，當我們 調用這個函數的交換，傳遞
x和y作為參數，它實際上 x和y的副本即
傳遞到交換。
即，它們的值1和2是 通過掉期為a和b。
而且它是a和b，我們是最終 交換主。
>> 即，1變為2，2變為1。
但由於交換沒有返回值 並且，因為它接收到的x副本
和y，它的行為已 關於x和y的任何效果。
事實上，a和b的作用域，可以這麼說， 交換，而x和y保持
作用域主。
>> 因此，我們有一個問題。
但如何解決它？