>> DAVID J. MALAN: nin bir proqram yazmaq edək biz dəyərlər dəyişdirmək üçün cəhd
iki dəyişənlərin, x və y.
Öncə mən çox yazdıq artıq bu proqramın.
Birincisi, mən bir dəyişən, x bəyan, və bu 1 dəyərini saxlamaq.
Sonra dəyişən y elan və bu dəyəri, 2 saxlamayın.
>> Sonra keçirmək üçün printf ilə davam bu iki dəyişənlərin dəyərləri.
Sonra mən başqa printf ilə iddia o dəyişənlər dəyişdirmə ediləcək.
Sonra svop adlı funksiyası zəng.
Və sonra mən iddia dəyişənlərin dəyişdirildikdə edilmişdir.
Və sonra mən çap, nə iddia x və y yeni dəyərlərdir.
>> İndi bu funksiya svop nədir?
Bu C. ilə gəlir ki, bir şey deyil Həqiqətən, biz üst baxsaq mənim
fayl, mən bəyan etdik ki, görəcəksiniz bu funksiya svop üçün bir prototip
iki ints edir ki, ifadə, özbaşına bir və b adlanır və bu
funksiyası bir şey geri deyil.
Belə ki, güman ki, deyir nə svopları bir və b-nin dəyərlər.
Indi mübadilə həyata bildirin.
>> Birincisi, mən müvəqqəti bəyan gedirəm dəyişən və ona təyin
bir dəyəri, baxmayaraq ki, mən yalnız bilər kimi asan b saxlanılır.
Mən sonra dəyəri dəyişmək üçün gedirəm bir b ki, bərabər olmalıdır.
Və sonra nəhayət, mən dəyişdirmək üçün gedirəm b dəyəri nə idi, lakin olmalı
indi temp.
>> İndi mən yalnız etdik hansı iddia məntiqi doğru deyil.
Mən müvəqqəti dəyişən bir saxlanılır etdik sonra b-nin olmaq dəyəri dəyişib və
nə nin idi olmaq kahvalti dəyəri dəyişdi.
Amma tərtib və bu çalıştırdığınızda proqram, mən ki, deyil narahat
Mən görmək nə gedir.
>> , Heç bir mübadilə etmək.
dot, heç mübadilə doğramaq.
Və təəssüf ki, printf görə, x və y dəyəri, hətta
biz dəyişdirmə üçün iddia sonra onlara, hələ 1 və 2-dir.
>> İndi niyə ki?
Bəli, bu çıxır ki, əsas, biz keçən, bu funksiya mübadilə zəng
arqumentlər kimi x və y bu, faktiki x və y surəti ki,
svop daxil qəbul olunur.
Məhz, onların dəyərləri 1 və 2 bir və b kimi svop keçdi.
Və biz nəticədə olduğunu bir və b var əsas dəyişdirmə.
>> 2 1 olur, 1 2 olur edir.
Amma Mübadilə qayıdış dəyər, çünki və çünki x surətini qəbul
və y, bu davranış var x və y heç bir təsiri.
Həqiqətən, bir və b belə danışmaq, scoped var x və y qalır, halbuki dəyişdirmək üçün
əsas scoped.
>> Beləliklə, biz bir problem var.
Amma necə düzeltmek üçün?