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.