DAVID Malan: Poďme sa teraz upresniť tento program kúsok ďalej. Nebolo by pekné, keby toupper mohol Veľké písmeno, ak malá, a ak nie je malá, priechod to prostredníctvom bezo zmeny? Inými slovami, mohol by som nahradiť môj if-else bloku s jediná výzva na toupper? 

No, odpoveď na túto otázku, Ja by som najlepšie poradiť dokumentácie pre toupper. Ak chcete tak urobiť, dovoľte mi otvoriť väčší terminál window mimo gedit, a zadajte man toupper, čím znamenať, že by som chcel otvoriť tzv manuálové stránky pre funkcie toupper. Po stlačení klávesy Enter, vidím obrazovke, ako je tento. A teraz si všimnúť, že sa zdá, že v kombinácii dokumentáciu pre toupper zvršok s tým pre tolower. Ale bez ohľadu na to. 

Určite ste si všimli pod synopse, že Pripomína mi to, že skutočne používať tento funkcie, musím zahrnúť hlavičkový súbor ctype.h. Pod to, uvidíte, že toupper je deklarovaný ako vracajúci int a prijíma int, čo je trochu zvedavý, pretože tak ďaleko, bol som manipulovať len znaky. Ale to je v poriadku. Ukazuje sa, že je to len konvencie, a stále ešte môžeme použiť ako c aj keď je to znak, aj keď to je deklarovaný ako int. 

Teraz, v popise tu, vidím, že toupper prevedie písmeno c veľké písmená, pokiaľ je to možné. A pod návratovú hodnotu, vidím, že vrátená hodnota je, že prevedený písmeno, alebo c, v prípade, že konverzie nebolo možné. A je tu pohľad Hľadal som pre. Je-li c nie je v skutočnosti malá list, zdá sa, že toupper bude jednoducho odovzdať ju spolu bezo zmeny. 

Takže poďme sa vrátiť do svojho kódu. A poďme teraz odstrániť celistvosť Tento podmienený blok a vymeňte ju, celkom jednoducho, s printf% c čiarkou toupper S konzoly aj zatvoriť zátvorka zatvoriť zátvorka bodkočiarku, čím znamenať, že by som chcel vymeniť% c s kapitalizáciou i-tej písmeno v s-ak i-ty list v s je malá. Alebo aj keď to tak nie je, bude prešiel bezo zmeny. 

Poďme sa teraz skompilovať tento program aby capitalize2, a spustite ho capitalize2, znovu, písanie ahoj. A skutočne, vrátime veľké písmená. Poďme znova zadajte David. A to je taky veľká.