1 00:00:00,000 --> 00:00:00,320 2 00:00:00,320 --> 00:00:02,700 >> DAVID J. MALAN: nin bir proqram yazmaq edək biz dəyərlər dəyişdirmək üçün cəhd 3 00:00:02,700 --> 00:00:04,970 iki dəyişənlərin, x və y. 4 00:00:04,970 --> 00:00:07,490 Öncə mən çox yazdıq artıq bu proqramın. 5 00:00:07,490 --> 00:00:11,130 Birincisi, mən bir dəyişən, x bəyan, və bu 1 dəyərini saxlamaq. 6 00:00:11,130 --> 00:00:14,120 Sonra dəyişən y elan və bu dəyəri, 2 saxlamayın. 7 00:00:14,120 --> 00:00:17,700 >> Sonra keçirmək üçün printf ilə davam bu iki dəyişənlərin dəyərləri. 8 00:00:17,700 --> 00:00:21,090 Sonra mən başqa printf ilə iddia o dəyişənlər dəyişdirmə ediləcək. 9 00:00:21,090 --> 00:00:23,690 Sonra svop adlı funksiyası zəng. 10 00:00:23,690 --> 00:00:26,100 Və sonra mən iddia dəyişənlərin dəyişdirildikdə edilmişdir. 11 00:00:26,100 --> 00:00:30,610 Və sonra mən çap, nə iddia x və y yeni dəyərlərdir. 12 00:00:30,610 --> 00:00:32,030 >> İndi bu funksiya svop nədir? 13 00:00:32,030 --> 00:00:34,970 Bu C. ilə gəlir ki, bir şey deyil Həqiqətən, biz üst baxsaq mənim 14 00:00:34,970 --> 00:00:38,850 fayl, mən bəyan etdik ki, görəcəksiniz bu funksiya svop üçün bir prototip 15 00:00:38,850 --> 00:00:42,750 iki ints edir ki, ifadə, özbaşına bir və b adlanır və bu 16 00:00:42,750 --> 00:00:44,300 funksiyası bir şey geri deyil. 17 00:00:44,300 --> 00:00:48,370 Belə ki, güman ki, deyir nə svopları bir və b-nin dəyərlər. 18 00:00:48,370 --> 00:00:50,170 Indi mübadilə həyata bildirin. 19 00:00:50,170 --> 00:00:53,820 >> Birincisi, mən müvəqqəti bəyan gedirəm dəyişən və ona təyin 20 00:00:53,820 --> 00:00:57,260 bir dəyəri, baxmayaraq ki, mən yalnız bilər kimi asan b saxlanılır. 21 00:00:57,260 --> 00:01:00,925 Mən sonra dəyəri dəyişmək üçün gedirəm bir b ki, bərabər olmalıdır. 22 00:01:00,925 --> 00:01:04,849 Və sonra nəhayət, mən dəyişdirmək üçün gedirəm b dəyəri nə idi, lakin olmalı 23 00:01:04,849 --> 00:01:06,340 indi temp. 24 00:01:06,340 --> 00:01:08,910 >> İndi mən yalnız etdik hansı iddia məntiqi doğru deyil. 25 00:01:08,910 --> 00:01:12,780 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ə 26 00:01:12,780 --> 00:01:15,580 nə nin idi olmaq kahvalti dəyəri dəyişdi. 27 00:01:15,580 --> 00:01:18,620 Amma tərtib və bu çalıştırdığınızda proqram, mən ki, deyil narahat 28 00:01:18,620 --> 00:01:20,140 Mən görmək nə gedir. 29 00:01:20,140 --> 00:01:21,625 >> , Heç bir mübadilə etmək. 30 00:01:21,625 --> 00:01:24,350 dot, heç mübadilə doğramaq. 31 00:01:24,350 --> 00:01:27,560 Və təəssüf ki, printf görə, x və y dəyəri, hətta 32 00:01:27,560 --> 00:01:31,560 biz dəyişdirmə üçün iddia sonra onlara, hələ 1 və 2-dir. 33 00:01:31,560 --> 00:01:32,630 >> İndi niyə ki? 34 00:01:32,630 --> 00:01:36,160 Bəli, bu çıxır ki, əsas, biz keçən, bu funksiya mübadilə zəng 35 00:01:36,160 --> 00:01:39,960 arqumentlər kimi x və y bu, faktiki x və y surəti ki, 36 00:01:39,960 --> 00:01:41,310 svop daxil qəbul olunur. 37 00:01:41,310 --> 00:01:45,430 Məhz, onların dəyərləri 1 və 2 bir və b kimi svop keçdi. 38 00:01:45,430 --> 00:01:48,590 Və biz nəticədə olduğunu bir və b var əsas dəyişdirmə. 39 00:01:48,590 --> 00:01:50,810 >> 2 1 olur, 1 2 olur edir. 40 00:01:50,810 --> 00:01:54,630 Amma Mübadilə qayıdış dəyər, çünki və çünki x surətini qəbul 41 00:01:54,630 --> 00:01:58,220 və y, bu davranış var x və y heç bir təsiri. 42 00:01:58,220 --> 00:02:02,610 Həqiqətən, bir və b belə danışmaq, scoped var x və y qalır, halbuki dəyişdirmək üçün 43 00:02:02,610 --> 00:02:03,990 əsas scoped. 44 00:02:03,990 --> 00:02:05,070 >> Beləliklə, biz bir problem var. 45 00:02:05,070 --> 00:02:06,320 Amma necə düzeltmek üçün? 46 00:02:06,320 --> 00:02:08,312