שיעור 3: קלט עם scanf ודיבאגינג
עד עכשיו התוכניות שלנו רק דיברו; עכשיו הן גם יקשיבו. scanf("%d", &age); קוראת מספר שהמשתמש מקליד אל תוך המשתנה — ה-& מוסר ל-scanf את כתובת המשתנה (נבין לעומק בשיעורי המצביעים). הדפוס הקבוע: printf שמציגה הנחיה, ואז scanf שקוראת. נלמד גם לדבג: לקרוא הודעות שגיאה של gcc לפי מספר השורה, לקמפל עם gcc
scanf היא כמו שליח פיצה: לא מספיק להגיד לו 'תביא לדני' — חייבים לתת לו כתובת. ה-& לפני המשתנה הוא בדיוק זה: הכתובת של דני, כדי שהשליח ידע לאן להביא את המספר שהמשתמש הקליד.
- scanf
- פונקציה שקוראת קלט מהמשתמש לפי specifier: scanf("%d", &age); קוראת int.
- & (אופרטור הכתובת)
- נותן ל-scanf את כתובת המשתנה בזיכרון כדי שתוכל לכתוב לתוכו. נעמיק בשיעורי המצביעים.
- אזהרה (warning)
- הודעת gcc על קוד חשוד שמתקמפל אבל כנראה שגוי. gcc -Wall מציג את כולן — תמיד לקרוא ולתקן.
- דיבאגינג
- איתור ותיקון באגים: קוראים את שגיאת הקומפיילר לפי מספר השורה, או מדפיסים ערכי ביניים עם printf.