1 00:00:00,000 --> 00:00:00,580 2 00:00:00,580 --> 00:00:02,950 >> DAVID J. Malan: Laten we nu de implementatie van een functie die niet alleen over een kant 3 00:00:02,950 --> 00:00:05,920 effect, maar in plaats daarvan terug een return waarde. 4 00:00:05,920 --> 00:00:09,150 In het bijzonder, laten uitvoeren van een functie riep krijgen positieve int waarvan 5 00:00:09,150 --> 00:00:11,490 doel in het leven is om precies dat te doen. 6 00:00:11,490 --> 00:00:14,500 Concreet zou ik graag gebruiken deze functie als volgt - 7 00:00:14,500 --> 00:00:18,770 int N krijgt krijgen positieve int. 8 00:00:18,770 --> 00:00:23,640 En dan druk f, dankzij het percentage i als 9 00:00:23,640 --> 00:00:26,490 placeholder, komma, einde. 10 00:00:26,490 --> 00:00:29,030 >> Nu natuurlijk, krijgen positieve int bestaat nog niet. 11 00:00:29,030 --> 00:00:33,020 Dus laten we beloven om het uit te voeren door toe te voegen aan de top van mijn dossier een lijn 12 00:00:33,020 --> 00:00:37,110 zoals int betekent dat deze functie zal terugkeren in int - 13 00:00:37,110 --> 00:00:39,110 krijgen positieve int. 14 00:00:39,110 --> 00:00:43,000 En laten we expliciet opgeven dat deze functie zal een ingang te nemen, en 15 00:00:43,000 --> 00:00:45,570 dus de argumenten zijn ongeldig. 16 00:00:45,570 --> 00:00:49,500 Laten we nu onderaan mijn dossier, gewoon zo dat ik kan blijven voornaamste tot boven, 17 00:00:49,500 --> 00:00:52,220 daadwerkelijk te implementeren of te definiëren deze functie. 18 00:00:52,220 --> 00:00:55,120 >> Eerst beginnen we met dezelfde handtekening, bij wijze van spreken - 19 00:00:55,120 --> 00:00:59,140 int krijgen positieve int leegte. 20 00:00:59,140 --> 00:01:01,910 En laten we nu implementeren krijgen positieve int als volgt. 21 00:01:01,910 --> 00:01:05,410 Laten we verklaren een int, ook wel N, maar konden we noemen het bijna alles 22 00:01:05,410 --> 00:01:11,360 we zouden willen, doet u het volgende terwijl sommige voorwaarde waar is, en we zullen terugkeren naar 23 00:01:11,360 --> 00:01:13,030 die voorwaarde in een moment. 24 00:01:13,030 --> 00:01:20,800 Print f, geef me een positieve int, en nu laten we gebruik maken Get int uit 25 00:01:20,800 --> 00:01:23,290 de CS50 bibliotheek daadwerkelijk krijgen dat int. 26 00:01:23,290 --> 00:01:28,210 >> Maar in mijn toestand, laten we dit doen lus zolang N kleiner is dan 1. 27 00:01:28,210 --> 00:01:31,260 Met andere woorden, zolang de gebruiker geen medewerking verleent door het verstrekken van mij 28 00:01:31,260 --> 00:01:36,260 met een positieve int, laat me re-prompt hem of haar opnieuw, en opnieuw, en opnieuw 29 00:01:36,260 --> 00:01:37,720 totdat hij of zij doet. 30 00:01:37,720 --> 00:01:40,360 Maar ik ben nog niet klaar, want op het einde van deze functie moet ik 31 00:01:40,360 --> 00:01:42,210 iets wat eigenlijk doen met die ingang. 32 00:01:42,210 --> 00:01:46,710 En dus ik ga om te gaan over de terugkeer het met een regel als return einde 33 00:01:46,710 --> 00:01:52,850 puntkomma, waardoor de terugkeer van een werkelijke int to main die deze functie genaamd. 34 00:01:52,850 --> 00:01:56,810 Nu is het vermeldenswaard dat, hoewel krijgen positieve int rendementen in int, is het 35 00:01:56,810 --> 00:02:00,470 wel goede tot hier weer een positieve int specifiek. 36 00:02:00,470 --> 00:02:04,170 Er is geen speciaal gegevenstype voor positief geheel getal specifiek dus 37 00:02:04,170 --> 00:02:06,490 gewoon gebruik maken van de ingebouwde "int." 38 00:02:06,490 --> 00:02:11,250 >> Nu terug op lijn negen, merk dat ik ben afdrukken van N. Maar de N in deze lijn 39 00:02:11,250 --> 00:02:13,970 behoort tot de N dat is verklaard in lijn acht. 40 00:02:13,970 --> 00:02:17,840 Dus het blijkt kunt u absoluut moet variabelen identiek zo genoemd 41 00:02:17,840 --> 00:02:20,250 zolang ze bestaan ​​in verschillende gebieden. 42 00:02:20,250 --> 00:02:24,950 En herinneren die ruimte wordt gedefinieerd door de accolades die het meest 43 00:02:24,950 --> 00:02:27,620 omringen de variabele dat u hebt gedefinieerd. 44 00:02:27,620 --> 00:02:30,370 >> Laten we nu samen te stellen en Dit programma starten. 45 00:02:30,370 --> 00:02:35,210 Maak functies 1, punt slash functies 1. 46 00:02:35,210 --> 00:02:40,040 Laten we het een positieve int-achtige 50, en het zegt bedankt voor de 50. 47 00:02:40,040 --> 00:02:43,180 Ondertussen, als we niet meewerken, uitvoeren van het programma weer, waardoor het 48 00:02:43,180 --> 00:02:47,550 0, ik ben weer gevraagd, of het geven van het negatieve 1, ben ik weer gevraagd. 49 00:02:47,550 --> 00:02:51,720 Maar als ik meewerken het te voorzien, zeggen, 50, ik bedankte voor de 50. 50 00:02:51,720 --> 00:02:54,590