DAVID馬蘭:現在,讓我們完善 這個程序遠一點。 那豈不是很好,如果能TOUPPER 大寫字母,如果小寫,並且 如果不是小寫,通 它通過改變? 換句話說,我能代替 我用的if-else塊 單調用ToUpper的? 好了,要回答這個問題, 我想最好的諮詢 文檔轉換大寫。 要做到這一點,讓我打開一個較大的終端 gedit的窗口外面, 然後輸入man轉換大寫,從而 標誌著我想開了 所謂的手冊頁。 功能轉換大寫。 當按下ENTER鍵,我看到 屏幕贊一個。 現在發現,他們似乎有 結合對轉換大寫的文檔 鞋面採用,對於tolower的。 但不管。 故事大綱下你會發現, 我提醒說,事實上,使用這種 功能,我必須包括 頭文件ctype.h中。 下面,你看到的是TOUPPER 聲明為返回一個int和 接受一個int,這是一個有點 好奇,因為到目前為止,我已經 只有操縱字符。 不過沒關係。 事實證明,這僅僅是一個 慣例,我們仍然可以用c為 雖然它是一個char,即使 它聲明為一個int。 現在,在這裡的描述,我看到 轉換大寫字母轉換成C至 大寫如果可能的話。 並根據返回值,我看到 返回的值是的 轉換後的字母,或c,如果 轉化率是不可能的。 並有敏銳的洞察力 我一直在尋找。 如果c是不是,事實上,一個小寫 信中,似乎將TOUPPER 只需沿著不變傳遞。 現在讓我們回到我的代碼。 而現在讓我們去掉的全部 這個條件塊和替換它, 很簡單,用printf的%C逗號 轉換大寫s支架的我關閉括號 接近括號分號,從而 標誌著我想替換掉%C 用的資本化 s中第i個字母,如果第i個 字母s中的小寫。 或者即使它不是,它會 加改變地通過。 現在,讓我們用編譯這個程序 讓capitalize2,並與運行 capitalize2,再次鍵入hello。 而事實上,我們回來大寫。 讓我們再次鍵入大衛。 而且,也同樣是大寫的。