>> DAVID J. MALAN: Lad os nu gennemføre en funktion, der ikke bare har en side
effekt, men i stedet vender tilbage en returværdi.
Specifikt, lad os gennemføre en funktion kaldet få positiv int hvis
formål i livet er at gøre netop dette.
Konkret vil jeg gerne bruge denne funktion som følger -
int N får få positiv int.
Og derefter udskrive f, tak til procent i som en
pladsholder, komma, ende.
>> Nu er selvfølgelig, få positiv int eksisterer ikke endnu.
Så lad os lover at gennemføre det ved tilføjelse til toppen af ​​min fil en linje
ligesom int signalerer, at denne funktion vil vende tilbage i int -
få positiv int.
Og lad os præcisere udtrykkeligt, at dette Funktionen vil ikke tage nogen input, og
så argumenterne er ugyldige.
Lad os nu i bunden af ​​min fil, simpelthen så at jeg kan holde hoved op toppen,
rent faktisk at gennemføre eller definere denne funktion.
>> Først starter vi med det samme underskrift, så at sige -
int få positiv int tomrum.
Og lad os nu implementere få positiv int som følger.
Lad os erklære en int, også kaldet N, men Vi kunne kalde det næsten alt
vi gerne vil, skal du gøre følgende, mens nogle betingelse er sand, og vi vil vende tilbage til
denne betingelse om et øjeblik.
Print f, bedes du give mig en positiv int, og lad os nu bruge Få int fra
Den CS50 biblioteket faktisk få det int.
>> Men i min tilstand, så lad os gøre det løkke, så længe N er mindre end 1.
Med andre ord, så længe brugeren ikke samarbejder ved at give mig
med en positiv int, lad mig re-prompt ham eller hende igen og igen og igen
indtil han eller hun gør.
Men jeg er ikke færdig endnu, for i slutningen af ​​denne funktion, jeg har brug for at
faktisk gøre noget med det input.
Og så jeg har tænkt mig at gå om at vende tilbage det med en linje som tilbagevenden ende
semikolon og dermed vende tilbage en egentlig int til main der kaldte denne funktion.
Nu er det værd at bemærke, at selvom få positive int afkast i int, er det
sikkert fint for det at vende tilbage en positiv int specifikt.
Der er ikke en særlig datatype for positivt heltal specifikt, så vi
blot bruge den indbyggede "int".
>> Nu tilbage på linje ni, bemærke, at jeg er udskrive N. Men N i denne linje
hører til N, der er erklæret på linje otte.
Så det viser sig, du kan absolut have variabler identisk navngivne så
længe de eksisterer indenfor forskellige anvendelsesområder.
Og huske, at omfanget er defineret af de krøllede parenteser, der bedst
omgiver den variable at du har defineret.
>> Lad os nu kompilere og køre dette program.
Gør funktioner 1, prik skråstreg funktioner 1..
Lad os give det en positiv int-lignende 50, og det siger tak for 50 år.
I mellemtiden, hvis vi ikke samarbejder, køre programmet igen, giver det
0, jeg spurgt igen, eller giver det negativ 1, jeg bliver bedt om det igen.
Men hvis jeg samarbejdede forsyne det med, sige, 50, jeg takkede for 50 år.