Дэвід Дж. Малан: Давайце цяпер рэалізаваць функцыя, не толькі ёсць бок эфект, але замест вяртаецца вяртаецца значэння. У прыватнасці, давайце рэалізаваць функцыю называецца атрымаць станоўчы Int якога мэта ў жыцці, каб зрабіць менавіта гэта. У прыватнасці, я хацеў бы выкарыстаць гэтая функцыя наступным чынам - Int N атрымлівае атрымаць станоўчы Int. А потым раздрукаваць е, дзякуючы для адсоткаў я як запаўняльнік, коска, канец. Цяпер, вядома,, атрымаць станоўчы унутр яшчэ не існуе. Так што давайце абяцаюць рэалізаваць яе на дадаўшы ў пачатак маім файле радкі як унутр паказваючы, што гэтая функцыя вернецца ў міжнар - атрымаць станоўчы Int. І давайце відавочна паказаць, што гэта функцыя не будзе рабіць ніякіх ўваход, і так што яго аргументы з'яўляюцца несапраўднымі. Давайце цяпер у ніжняй частцы майго файла, проста так, што я магу трымаць магістраль наверсе, на самай справе рэалізаваць або вызначыць гэтая функцыя. Спачатку мы пачнем з таго ж подпіс, так бы мовіць - унутр атрымаць станоўчы унутр несапраўднымі. А цяпер давайце рэалізуем атрымаць Пазітыўны Між наступным чынам. Давайце абвясціць Int, якая таксама называецца N, але мы маглі б назваць гэта амаль усё, што мы хацелі б, выканайце наступныя дзеянні ў той час як некаторыя ўмова праўдзіва, і мы вернемся да што стан у дадзены момант. Надрукаваць е, калі ласка, дайце мне станоўчы Int, а цяпер давайце выкарыстоўваць Get унутр ад CS50 бібліятэка на самай справе атрымаць, што Int. Але ў маім стане, давайце зробім гэта цыкл да тых часоў, N менш 1. Іншымі словамі, пры ўмове, што карыстач не будзе супрацоўнічаць, даваў мне з станоўчым Int, дазвольце мне зноў хуткае яму ці ёй зноў, і зноў, і зноў пакуль ён або яна не робіць. Але я яшчэ не скончыў, таму што ў Канец гэтай функцыі мне трэба на самай справе зрабіць нешта з гэтага ўваходу. І таму я збіраюся ісці аб вяртанні гэта з лініяй, як зваротны канец кропка з коскі, тым самым вяртаючы фактычная Int На галоўную які назваў гэтую функцыю. Зараз гэта варта адзначыць, што нягледзячы на ​​тое, атрымаць станоўчыя дзесятковага вяртаецца ў міжнар, гэта вядома, выдатна для таго, каб вярнуцца станоўчае унутр адмыслова. Існуе не асаблівы тып дадзеных для станоўчае цэлы лік спецыяльна, таму мы проста выкарыстоўваць убудаваны ў "Int." Цяпер вернемся на лініі дзевяці, звярніце ўвагу, што я Раздрукаваўшы N. Але N ў гэтай лініі належыць N, якая аб'яўлена ў адпаведнасці восем. Вось і атрымліваецца, вы можаце абсалютна ёсць зменныя аднолькавымі імёнамі так ўмове, што яны існуюць у межах розныя вобласці. І нагадаем, што аб'ём вызначаецца фігурныя дужкі, якія найбольш блізка атачаюць зменную што вы вызначылі. Зараз давайце кампіляцыі і запусціць гэтую праграму. Зрабіць функцыі 1, кропка скараціць функцыі 1. Давайце дамо яму станоўчую RC-як 50, і гэта кажа дзякуй за 50. Між тым, калі мы не супрацоўнічаем, запусціўшы праграму зноў, даючы яму 0, я паўторным запыце або прадастаўленне яго адмоўны 1, я зноў будзе прапанавана. Але калі я супрацоўнічаюць прадастаўлення яму, кажуць, 50, я падзякаваў за 50.