c語言指針交換兩個變量的值 解釋下為什么C語言中用函數(shù)交換兩個數(shù)的值只能用指針,而不能用這個方法。還有如果用全局變量該怎么寫?
解釋下為什么C語言中用函數(shù)交換兩個數(shù)的值只能用指針,而不能用這個方法。還有如果用全局變量該怎么寫?因為函數(shù)中的參數(shù)不是調(diào)用者的變量,而是臨時應(yīng)用的變量A和B,它們將變量A和B的值存儲在主函數(shù)中,并用于
解釋下為什么C語言中用函數(shù)交換兩個數(shù)的值只能用指針,而不能用這個方法。還有如果用全局變量該怎么寫?
因為函數(shù)中的參數(shù)不是調(diào)用者的變量,而是臨時應(yīng)用的變量A和B,它們將變量A和B的值存儲在主函數(shù)中,并用于函數(shù)中的計算。在fun中給a和B賦值就是操作這兩個臨時應(yīng)用的變量。函數(shù)返回后,這兩個變量將被丟棄,函數(shù)調(diào)用不會將這兩個臨時變量的值返回給主函數(shù)number調(diào)用中使用的參數(shù)函數(shù)。
因此,為了操作調(diào)用方在函數(shù)中應(yīng)用的變量,我們需要給出它們的指針,這些指針用于查找這些變量在函數(shù)中的位置和內(nèi)容。
C語言利用指針讓兩個變量的值互換?
首先,最基本的知識,寫頭文件,函數(shù)聲明,定義變量。
接下來,我們需要定義一個指針。我們需要定義兩個指針P1和P2,然后把a的地址賦給P1,把B的地址賦給P2
然后調(diào)用函數(shù)。函數(shù)不返回值,因此直接調(diào)用它。但是,參數(shù)輸入的是a和B的地址,而不是a和B
函數(shù)點用完后,輸出a和B的值。讓我們看看他們是否互換。
最困難的是定義函數(shù)。首先,a和B的地址被傳遞給X和Y。我們直接通過指針對a和B的值進行操作。
最后,交換*x和*y的值,從而實現(xiàn)a和B的值。