DAVID Malan: Ni nun rafini ĉi programo iom pli. Ĉu ne estus agrabla se toupper povis capitalize leteron se minuskle, kaj se ne minuskle, pasu ĝin tra neŝanĝita? Alivorte, mi povus anstataŭi mia se-else bloko kun sola alvoko al toupper? 

Nu, por respondi al tiu demando, Mi deziras bonan konsulti la dokumentadon por toupper. Por tion fari, lasu min malfermi granda stacio fenestro eksteren de gedit, kaj tiam tajpi viro toupper, tiamaniere montrante, ke mi volus malfermi la tn viro paĝo por la funkcio toupper. Sur koliziante Enter, mi vidas ekrano kiel ĉi tiu. Kaj nun rimarkas, ke ili ŝajnis havi kombinis la dokumentadon por toupper supra kun tiu por tolower. Sed ne gravas. 

Vi rimarkos sub la Synopsis ke Mi memorigis ke, fakte, uzi tiu funkcio, mi devas inkluzivi la kaplinio dosieron ctype.h. Sub tiu, vi vidas ke toupper estas deklarita kiel redoni al int kaj akcepti int, kio estas iom kurioza, pro tio ke tiel multe, mi jam estis manipulanta signoj nur. Sed tio estas okej. Rezultas, ke ĉi tio estas nur kongreso, kaj ni povas ankoraŭ uzi c kiel kvankam tio estas char, kvankam ĝi estas deklarita kiel int. 

Nun, en la priskribo ĉi tie, mi vidas ke toupper konvertas la literon c al majuskle, se eblas. Kaj sub reveno valoro, Mi vidas, ke la valoro revenis estas tiu de la igita letero, aŭ c, se la konvertiĝo ne estis ebla. Kaj tie estas la komprenon Mi serĉis. Se c estas ne, fakte, minuskle letero, ŝajnas ke toupper volo simple fordoni ilin kune neŝanĝita. 

Do ni nun revenas al mia kodo. Kaj ni nun forigas la tuteco de tiu kondiĉa bloko kaj anstataŭi ĝin, tute simple, kun printf% c komo toupper de s krampo i close paren proksime paren punktokomo, tiamaniere montrante, ke mi volus anstataŭigi% c kun la majusklecon de la Ith leteron en s se la Ith letero en s estas minusklaj. Aŭ eĉ se ĝi ne estas, estos trapasis neŝanĝita. 

Ni nun kompili tiun programon kun fari capitalize2, kaj ruli ĝin per capitalize2, denove, tajpado saluton. Kaj efektive, ni reiri majuskle. Ni denove tajpi Davidon. Kaj, ankaŭ, estas majuskle.