תשובות:
VS הוא קומפיילר די סלחן, שלא ממש אכפת לו מהתקן של שפת C.
לפי התקן, פונקציה main חייבת להחזיר int, והערך הזה חוזר למערכת הפעלה ויכול לסמן אם התוכנית הסתיימה בהצלחה או קרתה שגיאה.
בד"כ לא מתייחסים לערך הזה, אבל הוא עשוי להיות שימושי לקבצי batch.
לגבי scanf:
היא קוראת את הקלט הסטנדרטי (בד"כ מקלדת), ומנסה להוציא ממנו בדיוק את מה שאמרת לה להוציא.
אם אמרת לקורא תו אחד, היא תקרא תו אחד.
אם אמרת לה לקרוא מספר שלם (int) היא תנסה לקרוא מספר שלם.
אחרי שהיא סיימה לקרוא את מה שביקשת, לא ממש אכפת לה מה נותר בקלט.
זה יכול להיות רק תו של Enter, אם המשתמש הכניס בדיוק מה שהוא אמור היה להכניס, אבל זה יכול להיות גם עוד דברים, למשל אם ביקשת מספר שלם אחד, אבל המשתמש הכניס כמה מספרים מופרדים ברווח.
שים לב, שפונקציה scanf היא פונקציה מסוכנת, שלא משתמשים בה מחוץ לאקדמיה.
כך למשל, אם תנסה לקרוא איתה מחרוזת, אין לה שום שליטה על העורך, והיא תנסה לדחוף את מה שהמשתמש הקליד לתוך מערך תווים שהמתכנת סיפק גם אם אין שם מספיק מקום, מה שעלול ליצור בעיות שונות ומשונות.