>> DAVID J. Malan: Laten we nu de implementatie van een functie die niet alleen over een kant
effect, maar in plaats daarvan terug een return waarde.
In het bijzonder, laten uitvoeren van een functie riep krijgen positieve int waarvan
doel in het leven is om precies dat te doen.
Concreet zou ik graag gebruiken deze functie als volgt -
int N krijgt krijgen positieve int.
En dan druk f, dankzij het percentage i als
placeholder, komma, einde.
>> Nu natuurlijk, krijgen positieve int bestaat nog niet.
Dus laten we beloven om het uit te voeren door toe te voegen aan de top van mijn dossier een lijn
zoals int betekent dat deze functie zal terugkeren in int -
krijgen positieve int.
En laten we expliciet opgeven dat deze functie zal een ingang te nemen, en
dus de argumenten zijn ongeldig.
Laten we nu onderaan mijn dossier, gewoon zo dat ik kan blijven voornaamste tot boven,
daadwerkelijk te implementeren of te definiëren deze functie.
>> Eerst beginnen we met dezelfde handtekening, bij wijze van spreken -
int krijgen positieve int leegte.
En laten we nu implementeren krijgen positieve int als volgt.
Laten we verklaren een int, ook wel N, maar konden we noemen het bijna alles
we zouden willen, doet u het volgende terwijl sommige voorwaarde waar is, en we zullen terugkeren naar
die voorwaarde in een moment.
Print f, geef me een positieve int, en nu laten we gebruik maken Get int uit
de CS50 bibliotheek daadwerkelijk krijgen dat int.
>> Maar in mijn toestand, laten we dit doen lus zolang N kleiner is dan 1.
Met andere woorden, zolang de gebruiker geen medewerking verleent door het verstrekken van mij
met een positieve int, laat me re-prompt hem of haar opnieuw, en opnieuw, en opnieuw
totdat hij of zij doet.
Maar ik ben nog niet klaar, want op het einde van deze functie moet ik
iets wat eigenlijk doen met die ingang.
En dus ik ga om te gaan over de terugkeer het met een regel als return einde
puntkomma, waardoor de terugkeer van een werkelijke int to main die deze functie genaamd.
Nu is het vermeldenswaard dat, hoewel krijgen positieve int rendementen in int, is het
wel goede tot hier weer een positieve int specifiek.
Er is geen speciaal gegevenstype voor positief geheel getal specifiek dus
gewoon gebruik maken van de ingebouwde "int."
>> Nu terug op lijn negen, merk dat ik ben afdrukken van N. Maar de N in deze lijn
behoort tot de N dat is verklaard in lijn acht.
Dus het blijkt kunt u absoluut moet variabelen identiek zo genoemd
zolang ze bestaan ​​in verschillende gebieden.
En herinneren die ruimte wordt gedefinieerd door de accolades die het meest
omringen de variabele dat u hebt gedefinieerd.
>> Laten we nu samen te stellen en Dit programma starten.
Maak functies 1, punt slash functies 1.
Laten we het een positieve int-achtige 50, en het zegt bedankt voor de 50.
Ondertussen, als we niet meewerken, uitvoeren van het programma weer, waardoor het
0, ik ben weer gevraagd, of het geven van het negatieve 1, ben ik weer gevraagd.
Maar als ik meewerken het te voorzien, zeggen, 50, ik bedankte voor de 50.