דובר: בואו לכתוב תכנית ש מנסה להעתיק שתי מחרוזות. אני כבר gotten נכתבו על ידי ראשון להדפיס את "תגיד משהו". אני הבא קורא GetString, אחסון ערך ההחזרה בים. ולאחר מכן אני מוודא כי ים הוא לא ריק. בואו הבא להפוך את העותק שלנו של ס 'אני הולך להכריז על משתנה חדש, לא, וחנות בזה. אני הבא אני הולך לתבוע, עם printf, שאני הולך לנצל עותק זה. אני הבא אני הולך לבדוק לא שהוא ב גדול יותר לפחות מ 0 באורך כך ש אני לא מנסה בטעות להוון מכתב שהוא לא שם. ברגע שאני בטוח, אני הולך לשנות את ערך בסוגריים לא 0 להיות התמורה ערך של toupper, פונקציה ה ממיר את הקלט שלה לאותיות גדולות, עובר כבסוגר לא הקלט שלה 0. לבסוף, אני הולך להדפיס את מה הערך המקורי היה, אשר, קורס היה, ש. ולאחר מכן אני הולך להדפיס את מה ערך של העותק הוא, שהוא לא. כשאני עכשיו לקמפל ולהריץ תכנית זו, אני מקווה לראות מקורי שלי קלט ואחריו העתק ממנו רק עם העותק באותיות גדולות. אבל בואו נבדוק. הפוך את העותק 0,. / להעתיק 0. ואני מוכן לספק קלט של, נניח, שלום, אבל בכל אותיות קטנות, ולאחר מכן על Enter. למרבה הצער, נראה כי שני מקורי והעותק נמצא כעת "שלום" עם H. הון אבל זה ברור שלא מה שהקלדתי. אז, ככל הנראה, כשמהוון לא, אני הוון איכשהו ים, למרות שאני חשבתי שאני עושה עותק של ים וקוראים לזה לא. אין ספק, משהו כאן לא בסדר. אבל איך אנחנו יכולים לתקן?