דוד י מלאן: בואו עכשיו ליישם פונקציה שלא רק שיש לי צד השפעה, אך במקום זאת חוזרת ערך החזרה. באופן ספציפי, בואו ליישם פונקציה התקשרתי לקבל int החיובי ש מטרה בחיים היא לעשות בדיוק את זה. באופן ספציפי, אני רוצה להשתמש פונקציה זו באופן הבא - int N מקבל מקבל int החיובי. ולאחר מכן f הדפסה, הודות לאחוזים אני כמו מציין מיקום, פסיק, הסוף. עכשיו כמובן, לקבל חיובי int אינו קיים עדיין. אז בואו מבטיחים ליישם אותו על ידי הוספה לחלק העליון של התיק שלי קו כמו מסמל int שפונקציה זו יחזור בint - לקבל int החיובי. ובואו תציינו במפורש שזה פונקציה לא תיקח כל קלט, ו כך טענותיו בטלות. בואו עכשיו בחלק התחתון של התיק שלי, פשוט כדי שאוכל לשמור עיקרי למעלה, למעשה ליישם או להגדיר בפונקציה זו. ראשית עלינו להתחיל עם אותו חתימה, כביכול - int לקבל חלל int חיובי. ועכשיו בואו ניישם את int החיובי כדלקמן. בואו נכריז int, המכונה גם N אבל אנחנו יכולים לקרוא לזה כמעט כל דבר אנחנו רוצים, בצעו את הפעולות הבאות בעוד כמה תנאי הוא אמת, ונחזור ל מצב זה בין רגע. f הדפסה, אנא תן לי int חיובי, ועכשיו בואו להשתמש קבל int מ ספריית CS50 בעצם לקבל int ש. אבל במצב שלי, בואו נעשיתי את זה לולאה כל עוד N הוא פחות מ 1. במילים אחרות, כל עוד המשתמשים לא משתף פעולה על ידי מתן לי עם int חיובי, תן ​​לי מחדש את הפקודה לו או לה שוב, ושוב, ושוב עד שהוא או היא עושה. אבל אני לא עושה זאת, כי ב סוף הפונקציה זו אני צריך באמת לעשות משהו עם קלט ש. ואז אני הולך ללכת על חזרה זה עם קו כמו סוף התמורה פסיק, ובכך חוזר בפועל int לעיקרי שקראו לפונקציה זו. עכשיו זה ראוי לציין כי למרות לקבל תשואות חיוביות בint int, זה בהחלט קנס על להחזיר אותו int חיובי במיוחד. אין נתונים מסוג מיוחד עבור מספר חיובי במיוחד, ולכן אנחנו פשוט להשתמש נבנה ב" int ". עכשיו בחזרה על קו תשע, שם לב שאני להדפיס את נ 'אבל לא זמין בקו הזה שייך לN שהכריז בקו שמונה. אז מתברר יכול בהחלט יש לך משתנים בעלי שם זהה ולכן עוד הם קיימים בתוך טווחים שונים. ולהיזכר ההיקף שהוגדר על ידי הסוגריים המסולסלים שהצמוד ביותר מקיף את המשתנה שהגדרת. עכשיו בואו ולקמפל להפעיל את התכנית. פונקציות הפוך 1, נקודה סלאש פונקציות 1. בואו ניתן לו 50 כמו int חיוביים, וזה אומר תודה על 50. בינתיים, אם אנחנו לא נשתף פעולה, מפעיל את התכנית שוב, זה נותן 0, אני מתבקש שוב, או לתת לו שלילי 1, אני מתבקש שוב. אבל אם אני משתף פעולה במתן אותו עם, אומרים, 50, אני הודיתי ל50.