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?