DAVID מלאן: נניח שהיינו רוצה לכתוב תכנית שמנחה את המשתמש עבור מחרוזת ולאחר מכן מהוונת מחרוזת ש. ובכן, בואו נתחיל עם כמה מוכר קוד הכריז מחרוזת בשם של ו הקצאה את התמורה ערך של getstring. ובואו עכשיו להמשיך לחזר על התווים במחרוזת זו. ובכן, איך לעשות את זה? מתברר שמחרוזת היא פשוט רצף של תווים, אבל יותר כמו שצריך, מחרוזת היא מערך של דמויות, מה שאומר שאנחנו יכולים להשתמש סימון סוגריים מרובע לאינדקס לתוך מחרוזת ולקבל באדם תווים. במילים אחרות, אנחנו יכולים בצע את הפעולות הבאות. עבור int, אני מקבל 0, ומקבל n, אומר, אורכו של ים, באמצעות [הפונקציה שלנו? לבחוש?] [? קו,?] היא i פחות מ n i + +. במילים אחרות, עם לולאה זו, יהיה לחזר על כל אותיות n במחרוזת s. ובתוך לולאה זו, אני הולך לבדוק, אם דמות i-th בים גדול או שווה לאותיות קטנות, ואופי i-th הוא פחות או שווה לג באותיות קטנות, ולאחר מכן אני רוצה להמשיך לנצל את המכתב הזה. במילים אחרות, אני רוצה להדפיס% ג כמציין מיקום ותחליף ל של מציין מיקום שבסוגר i. אבל אז אני צריך להמיר סוגר שלי לאותיות גדולות. כדי לעשות זאת, אני יכול פשוט לחסר כל ההבדל הוא בין אותיות קטנות וא ההון טוב, אני דווקא זוכר שהון הוא 65 בASCII, ואותיות קטנות הוא 97. אז ההבדל הוא טכני 32. אז אני יכול רק קוד קשה 32 כאן. אבל אני לא בהכרח זוכר את המספרים האלה. ויותר מכך, מה אם הם להשתנות על ידי מחשב? סביר להניח שהם לא. אבל הנקודה היא שעדיין אני יכול להכליל שביטוי אריתמטי כפשוט כל מה שההבדל הוא בין אותיות קטנות והון זה מה שאני רוצה להחסיר מן האות הקטנה הזה בפרט. עכשיו, אם מכתב המסוים הזה לא אותיות קטנות, אני פשוט רוצה להדפיס אותו. printf, ג% כפי שמציינים מיקום שלי, של הסוגר i. בחלק התחתון של תכנית זו, בואו פשוט להדפיס את השורה החדשה, כך ש הפקודה מופיעה על חדש שורה משלו. בואו עכשיו לקמפל תכנית זו עם capitalize0 איפור. בואו להפעיל אותו עם capitalize0. ובואו להקליד מילה כמו שלום בכל אותיות קטנות. אני חוזר שלום באותיות רישיות כצפוי. אבל בואו ננסה מבחן אחד נוסף, הפעם עם השם שלי, D-A-V-I-D, אבל עם D הראשון מהוון, רק ב מקרה שהרסתי משהו עם זה char הראשון. הזן, ו-D-A-V-I-D באותיות רישיות מודפס גם כן.