David J. Malan: Leiskite dabar įgyvendinti funkcija, kuri ne tik turi pusę poveikį, tačiau vietoj grįžta grįžti vertė. Tiksliau, galime įgyvendinti funkciją vadinamas gauti teigiamą int kurio gyvenimo tikslas yra padaryti būtent tai. Tiksliau, aš norėčiau naudoti Ši funkcija taip - int N gauna gauti teigiamą int. Ir tada spausdinti f, nes už proc aš, kaip vietos rezervavimo ženklų, kablelis, pabaigos. Dabar, žinoma, gauti teigiami int dar nėra. Taigi, galime pažadėti jį įgyvendinti įtraukti į mano failą linijos viršuje kaip int pažymintis, kad ši funkcija sugrįš int - gauti teigiamą int. Ir tegul nurodyti aiškiai, kad tai funkcija nesiims jokių sąnaudų, ir todėl jos argumentai yra niekiniai. Tegul dabar mano failo apačioje tiesiog, kad galėčiau išlaikyti Main iki viršaus, realiai įgyvendinti arba nustatyti ši funkcija. Pirmiausia mes pradėti su tuo pačiu parašas, taip sakant - int gauti teigiami int negaliojančiu. O dabar galime įgyvendinti gauti teigiamas int taip. Leiskite pareikšti, int, taip pat vadinamas N tačiau mes galime vadinti beveik nieko mes norėtume, tai taip, o kai sąlyga yra teisinga, ir mes grįžti į ši sąlyga akimirką. Spausdinti f, prašome duoti man teigiamą int, ir dabar galime naudoti Gauti int nuo CS50 biblioteka iš tikrųjų gauti, kad int. Bet mano būklę, galime tai padaryti kilpa, kol n yra mažesnis už 1. Kitaip tariant, kol vartotojas nebendradarbiauja, suteikiant man su teigiamu int, leiskite man vėl greitai jam ar jai vėl, ir vėl, ir vėl, tol, kol jis arba ji. Bet aš dar ne viskas, nes tuo pabaigos šios funkcijos man reikia iš tikrųjų ką nors daryti su tuo sąnaudų. Ir todėl aš ruošiuosi eiti apie grąžinimą tai su panašaus grąžinimo pabaigoje linija kabliataškis, todėl vėl bus faktinis int į pagrindinį kuris vadinamas šią funkciją. Dabar verta pažymėti, kad nors gauti teigiamą grąžą int int, tai tikrai bauda už tai, kad grįžtumėte teigiamas int konkrečiai. Nėra specialus duomenų tipas teigiamas sveikasis skaičius, konkrečiai, todėl mes tiesiog naudoti užstatytose "int". Dabar grįžkite eilutėje devynių, pastebėsite, kad aš spausdinti N. Bet N šioje eilutėje priklauso N tai deklaruota pagal aštuonių. Taigi paaiškėja, galite tikrai turite kintamieji vienodai pavadintas taip tol, kol jie egzistuoja skirtingos taikymo sritys. Ir priminti, kad taikymo sritis yra apibrėžiama garbanotas petnešos, kad labiausiai Aplink kintamąjį kad jūs apibrėžti. Dabar galime rinkti ir paleisti šią programą. Padaryti funkcijos 1, taškas velniop funkcijas 1. Leiskite jam suteikti teigiamą lc-kaip 50, ir ji sako, ačiū už 50. Tuo tarpu, jei mes neturime bendradarbiauti, vėl paleisti programą, suteikiant jai 0, aš paskatino dar kartą arba suteikiant jam neigiamas 1, Aš paskatino dar kartą. Bet jei aš bendradarbiauti, suteikiant jai, sako 50, aš padėkojo už 50.