>> DAVID J. Malan: Ejja jikteb programm li nippruvaw li tpartit l-valuri ta '
żewġ varjabbli, x u y.
Bil-quddiem, stajt bil-miktub ħafna ta 'dan il-programm diġà.
L-ewwel, I tiddikjara varjabbli, x, u jaħżnu fiha l-valur, 1.
Imbagħad Niddikjara y varjabbli u taħżen fiha l-valur, 2.
>> Imbagħad I tipproċedi printf li juri il-valuri ta 'dawn iż-żewġ varjabbli.
Imbagħad I pretensjoni ma printf ieħor li għandha iskambji dawk il-varjabbli.
Imbagħad I sejħa funzjoni msejħa swap.
U mbagħad I jsostnu li l-varjabbli ġew skambjati.
U mbagħad I jistampa li dak I pretensjoni huma l-valuri ġodda tal xuy.
>> Issa dak li huwa dan swap funzjoni?
Mhuwiex xi ħaġa li jiġi ma 'C. Tabilħaqq, jekk inħarsu lejn il-quċċata ta 'tiegħi
file, inti ser ikollok avviż li stajt iddikjarat prototip għal dan swap funzjoni
tispeċifika li dan jieħu żewġ ints, arbitrarju imsejjaħ aub, u dan
funzjoni ma ritorn xejn.
Allura preżumibbilment, huwa ma dak li jgħid fi bdil ta 'u l-valuri B.
Ejja issa jimplimentaw swap.
>> L-ewwel, jien ser tiddikjara temporanju varjabbli u tassenja lilha
il-valur ta ', għalkemm I jistgħu biss faċilment maħżuna fiha b.
Jien imbagħad se jibdlu l-valur ta 'li jkun ugwali għal dak fil b.
U mbagħad fl-aħħar, jien ser jibdlu l- valur ta 'b li tkun liema kien, iżda huwa
issa fl temperatura.
>> Issa I titlob dak li stajt biss isir huwa loġikament korretta.
Stajt maħżuna a fil-varjabbli temporanju, mibdula valur ta 'li jkun ta b, u mbagħad
mibdula valur b li tkun dak kien.
Imma meta I jikkompilaw u run dan programm, I inkwetati li mhux
tmur dak li nara.
>> Jagħmlu, ebda swap.
dot mmejla, ebda swap.
U sfortunatament, skond printf, il-valur ta 'xuy, anke
wara we jippretendu li jiġu iskambji minnhom, għadu 1 u 2.
>> Issa għaliex huwa li?
Ukoll, jirriżulta li fil-prinċipali, meta aħna sejħa dan swap funzjoni, li jgħaddi fil-
X u Y kif argumenti, huwa attwalment kopji ta 'xuy li
huma mgħoddija fis swap.
Jiġifieri, il-valuri tagħhom 1 u 2 huma mgħoddija fi swap bħala au b.
U huwa u b li aħna qed finalment iskambji fl prinċipali.
>> Dan huwa, 1 isir 2, 2 isir 1.
Iżda minħabba swap m'għandha l-ebda valur tar-ritorn u minħabba li rċeviet kopji ta 'x
u y, huwa imġieba tkun ebda effett fuq xu y.
Tabilħaqq, u b huma scoped, biex ngħidu hekk, tpartit, filwaqt xuy jibqgħu
scoped għal main.
>> Allura għandna problema.
Imma kif jiffissaw dan?