1 00:00:00,000 --> 00:00:00,580 2 00:00:00,580 --> 00:00:02,950 >> DAVID J. Malan: Poďme teraz realizovať funkcia, ktorá nie je len mať stranu 3 00:00:02,950 --> 00:00:05,920 účinok, ale namiesto toho sa vracia návratová hodnota. 4 00:00:05,920 --> 00:00:09,150 Konkrétne, poďme zaviesť funkciu nazýva sa pozitívny int, ktorého 5 00:00:09,150 --> 00:00:11,490 Zmyslom života je robiť presne to. 6 00:00:11,490 --> 00:00:14,500 Konkrétne by som chcel použiť Táto funkcia takto - 7 00:00:14,500 --> 00:00:18,770 int N dostane sa kladný int. 8 00:00:18,770 --> 00:00:23,640 A potom vytlačiť f, vďaka na percentá aj ako 9 00:00:23,640 --> 00:00:26,490 Zástupný symbol, čiarka, koniec. 10 00:00:26,490 --> 00:00:29,030 >> Teraz samozrejme, získať pozitívny int doteraz neexistuje. 11 00:00:29,030 --> 00:00:33,020 Takže poďme sľúbiť, vykonať ho pridať k vrcholu môjho súboru riadok 12 00:00:33,020 --> 00:00:37,110 ako int znamenať, že je táto funkcia sa vráti v int - 13 00:00:37,110 --> 00:00:39,110 získať kladný int. 14 00:00:39,110 --> 00:00:43,000 A poďme určiť, výslovne stanovuje, že táto funkcia nebude mať žiadny vstup, a 15 00:00:43,000 --> 00:00:45,570 tak jeho argumenty sú neplatné. 16 00:00:45,570 --> 00:00:49,500 Poďme sa na dne môjho súboru, jednoducho tak, že môžem mať main až hore, 17 00:00:49,500 --> 00:00:52,220 skutočne realizovať, alebo definovať táto funkcia. 18 00:00:52,220 --> 00:00:55,120 >> Najprv začneme s rovnakou podpis, aby som tak povedal - 19 00:00:55,120 --> 00:00:59,140 int získať pozitívny int neplatné. 20 00:00:59,140 --> 00:01:01,910 A teraz poďme realizovať sa pozitívny int nasledovne. 21 00:01:01,910 --> 00:01:05,410 Poďme deklarovať int, tiež volal N, ale by sme mohli nazvať takmer čokoľvek 22 00:01:05,410 --> 00:01:11,360 by sme chceli, vykonajte nasledujúce kroky, zatiaľ čo niektoré podmienka je pravdivá, a vrátime sa 23 00:01:11,360 --> 00:01:13,030 táto podmienka za chvíľu. 24 00:01:13,030 --> 00:01:20,800 Vytlačiť f, prosím, daj mi pozitívne int, a teraz poďme použiť Get int z 25 00:01:20,800 --> 00:01:23,290 CS50 knižnica skutočne dostať ten int. 26 00:01:23,290 --> 00:01:28,210 >> Ale v mojom stave, poďme na to loop ak N je menšia ako 1. 27 00:01:28,210 --> 00:01:31,260 Inými slovami, ak užívateľ nespolupracuje tým, že mi 28 00:01:31,260 --> 00:01:36,260 s pozitívnym int, dovoľte mi, aby som znova prompt ho alebo ju znova, a znova, a znova 29 00:01:36,260 --> 00:01:37,720 kým on alebo ona robí. 30 00:01:37,720 --> 00:01:40,360 Ale ja som neskončil, pretože v Koniec tejto funkcie som sa vykoná na 31 00:01:40,360 --> 00:01:42,210 skutočne niečo urobiť s týmto vstupom. 32 00:01:42,210 --> 00:01:46,710 A tak som ísť o návrate to s linkou ako spiatočný konca 33 00:01:46,710 --> 00:01:52,850 bodkočiarka, čím sa vracia skutočný int na hlavné kto volal túto funkciu. 34 00:01:52,850 --> 00:01:56,810 Teraz je potrebné poznamenať, že aj keď získať pozitívny int vráti do int, je to 35 00:01:56,810 --> 00:02:00,470 určite fajn pre to, aby návrat pozitívny int špecificky. 36 00:02:00,470 --> 00:02:04,170 Nie je zvláštne dátový typ pre kladné celé číslo osobitne, takže 37 00:02:04,170 --> 00:02:06,490 stačí použiť vstavaný "int". 38 00:02:06,490 --> 00:02:11,250 >> A teraz späť na linke deväť, všimnite si, že som vytlačiť N. Ale N na tomto riadku 39 00:02:11,250 --> 00:02:13,970 patrí do N, ktorá je deklarované v súlade osem. 40 00:02:13,970 --> 00:02:17,840 Tak to dopadá, môžete absolútne premenné rovnako pomenované tak, 41 00:02:17,840 --> 00:02:20,250 ak existujú v rámci rôzne rozsahy. 42 00:02:20,250 --> 00:02:24,950 A pripomenúť, že rozsah je vymedzený zložené zátvorky, ktoré najviac 43 00:02:24,950 --> 00:02:27,620 obklopujú premenné že ste definovali. 44 00:02:27,620 --> 00:02:30,370 >> Teraz poďme zostaviť a spustiť tento program. 45 00:02:30,370 --> 00:02:35,210 Urobiť funkcie 1, bodka lomítko funkcie 1. 46 00:02:35,210 --> 00:02:40,040 Poďme dať pozitívny int-ako 50, a hovorí, že vďaka za 50 rokov. 47 00:02:40,040 --> 00:02:43,180 Zatiaľ, ak nebudeme spolupracovať, znovu spustiť program, čo je 48 00:02:43,180 --> 00:02:47,550 0, som vyzvaný znovu, alebo dávať to Negatívny 1, som vyzvaný znova. 49 00:02:47,550 --> 00:02:51,720 Ale či spolupracovať, poskytovať ju, povedať, 50, ja som poďakoval za 50 rokov. 50 00:02:51,720 --> 00:02:54,590