דובר: בואו ליישם תכנית ה מבקש מהמשתמש מספר שלם אבל ממשיך שגרם להם עבור מספר שלם נוסף עד המספר השלם שהוא חיובי. ובכן, בואו לכתוב את זה, כולל cs50.h, כולל שעות נקודת io סטנדרטי, int [חלל] ראשי. עכשיו בואו למעשה נתחיל להנחות את משתמש עבור מספר שלם זה תוך כדי שמירה על אכפת שאנחנו רוצים reprompt אותם עד ש המספר הוא חיובי דווקא. אז אני רוצה סוג כלשהו של לולאות לבנות, אבל לולאה שמבצעת ב לפחות פעם אחת. ולהיזכר עשה תוך הלולאה מאפשרת לנו לעשות בדיוק את זה. בואו לקודד את זה. בואו נכריז int הראשון - אנחנו קורא לזה n - שבו לאחסון המספר השלם של המשתמש. עכשיו בואו נעשה את הדברים הבאים. Printf, אנא תן לי int חיובי. בואו עכשיו לקבל את זה int באמצעות GetInt של ספריית CS50 פונקציה, n מקבל GetInt. ועכשיו שנסיים לעשות משהו, אבל אנחנו הולכים לרוצים לעשות את זה ואילו n הוא - מה? - פחות מ 1, אם אכן רוצה מספר שלם חיובי. בואו נלך קדימה עכשיו ולהדפיס. אם הכל טוב, תודה עבור int החיובי, פסיק, שמור את הקובץ. בואו עכשיו לקמפל ולהריץ. הפוך לוכסן נקודה חיובי חיובי. ועכשיו אני שאתבקש עבור int חיובי. הרשה לי לשתף פעולה עם 1. תודה על int החיובי. בואו עכשיו להפעיל מחדש את התכנית ולא תשתף פעולה. תן לי בבקשה int חיובי. מה דעתך על 1 שלילי? מעניין. התכנית כבר reprompted שלי עבור int. בואו נהיה קצת יותר קשה עם 0. עדיין לא int חיובי, אז בוא לשתף פעולה והפעם לספק, שוב, 1. תודה על int החיובי. עכשיו זה חשוב לציין שאני הכריז n משתנה על קו 6, מחוץ לעשה תוך הלולאה. אם הייתי במקום שהוכרז n הפנימי שלי עשה תוך לולאה, במיוחד על, נניח, קו 10, שבו אני גם מקבל int מ למשתמש, כי n int היה רק קיימים בתחומי המתולתל פלטה שנמצאות בשלב זה קו 8 ועל קו 11. במילים אחרות, n יהיה scoped ל בתוך שעשתה תוך לולאה. אבל הבעיה היא שאנחנו גם רוצה להשתמש n בקו 12 בתוך המצב. אז למרות שזה לא נראה כך די, זה הרבה יותר מכוון מאוד כי n מוכרז מחוץ עשה תוך לולאה זו.