DAVID馬蘭:假設我們想編寫 提示用戶的程序 為一個字符串,然後以大寫字母 該字符串。 好吧,讓我們開始與一些熟悉的 代碼中聲明一個稱為S字符串, 分配給它的回報 GetString的價值。 而且,我們現在進行遍歷 在此字符串中的字符。 那麼,如何做到這一點? 事實證明,一個字符串只是一個 字符序列,但更 正確,字符串是一個數組 字符,這意味著我們可以使用 方括號來索引 在個人的字符串,並得到 字符。 換句話說,我們可以 做到以下幾點。 對於int,我得到0,n變, 說,s的長度,用 我們的函數[?攪?] [?行,?] i小於N I + +。 換句話說,在該循環中,我們 將遍歷所有n個字母 在字符串s中。 並在這個循環中,我要 檢查,如果s中的第i個字符 大於或等於小寫a, 與第i個字符是小於或 等於一個小寫的c,那麼我想 請把握這封信。 換句話說,我想打印出%C 作為佔位符,並以對中 這個佔位符s支架I。 但後​​來我需要轉換 s支架I為大寫。 要做到這一點,我可以簡單地減 任何偏差在 小寫和大寫字母A好,我 其實都記得,大寫字母A是 65在ASCII和小寫a是97。 這樣的差異在技術上是32。 所以,我只能硬編碼32在這裡。 但我不一定 記住這些數字。 況且,如果他們 電腦有什麼不同? 最有可能他們不是。 但問題仍然是,我仍然可以 概括地說,算術表達式 如剛剛任何的區別是 一個小寫的a和大寫的A之間 是我想從減去了 這個特殊的小寫字母。 現在,如果該特定信 是不是小寫,我只是 想打印出來。 printf的,%C作為我的佔位符, s支架I。 這個程序的底部,讓我們 簡單地打印出換行,這樣我 提示出現在一個新的 行自身。 現在讓我們來編譯這個程序 用make capitalize0。 讓我們一起capitalize0運行它。 並讓我們鍵入一個詞像 你好全部用小寫。 我在大寫回來HELLO 如預期。 但是,讓我們嘗試一種更考驗,這時候 用我自己的名字,D-A-V-I-D,但與 第一D資本化,只是在 萬一我搞砸了的東西 與第一個字符。 以大寫字母輸入和D-A-V-I-D 打印為好。