>> DAVID J. MALAN: La oss nå gjennomføre en funksjon som ikke bare har en side
effekt, men i stedet går tilbake en returverdi.
Nærmere bestemt, la oss gjennomføre en funksjon kalt få positive int hvis
formål i livet er å gjøre akkurat det.
Spesielt vil jeg gjerne bruke denne funksjonen som følger -
int N blir få positiv int.
Og deretter skrive ut f, takk for prosent i som en
plassholder, komma, slutt.
>> Nå selvfølgelig, få positiv int ikke finnes ennå.
Så la oss lover å gjennomføre det ved legge til toppen av min fil en linje
som int betyr at denne funksjonen vil komme tilbake i int -
få positiv int.
Og la oss angi eksplisitt at dette Funksjonen vil ikke ta noen innspill, og
så sine argumenter er ugyldige.
La oss nå på bunnen av filen min, rett og slett slik at jeg kan holde hoved opp toppen,
faktisk implementere eller definere denne funksjonen.
>> Først starter vi med det samme signatur, så å si -
int få positiv int ugyldig.
Og nå skal vi implementere få positive int som følger.
La oss erklære en int, også kalt N men Vi kan kalle det nesten alt
vi ønsker, gjør du følgende mens noen betingelsen er sann, og vi vil komme tilbake til
at tilstanden i et øyeblikk.
Skriv ut f, vennligst gi meg en positiv int, og nå skal vi bruke Get int fra
den CS50 biblioteket til faktisk få det int.
>> Men i min tilstand, la oss gjøre dette sløyfe, så lenge N er mindre enn 1.
Med andre ord, så lenge brukeren ikke samarbeider ikke ved å gi meg
med en positiv int, la meg igjen teksten ham eller henne igjen, og igjen, og igjen
før han eller hun gjør.
Men jeg er ikke ferdig ennå, fordi på den slutten av denne funksjon jeg å
faktisk gjøre noe med den inngangen.
Og så kommer jeg til å gå om retur det med en linje som avkastning slutten
semikolon, og dermed returnere en faktisk int til hoved som kalte denne funksjonen.
Nå er det verdt å merke seg at selv om få positive int avkastning i int, er det
sikkert greit for det å gå tilbake en positiv int spesifikt.
Det er ikke en spesiell datatype for positive heltall spesielt, så vi
bare bruke den innebygde "int."
>> Nå tilbake på linjen ni, merker at jeg er skrive ut N. Men N i denne linjen
tilhører N som er erklært i tråd åtte.
Så det viser seg at du kan absolutt ha variabler identiske navn så
lenge som de eksisterer innenfor ulike omfang.
Og husker at omfanget er definert av klammeparentes som best
omgir variabel at du har definert.
>> La oss nå samle og kjøre dette programmet.
Gjør funksjoner 1, prikk slash funksjoner en.
La oss gi det en positiv int-lignende 50, og det sier takk for 50.
I mellomtiden, hvis vi ikke samarbeider, kjøre programmet på nytt, gir det
0, jeg spurt igjen, eller gi det negativ en, jeg spurt igjen.
Men hvis jeg samarbeider gi det med, si, 50, jeg takket for den 50.