DAVID Malan: Laten we nu verfijnen dit programma een beetje verder. Zou het niet mooi zijn als toupper kon kapitaliseren brief als kleine letters, en zo niet kleine letters, pas het door onveranderd? Met andere woorden, ik kon vervangen mijn if-else-blok met een enkele oproep tot toupper? Nou, om deze vraag te beantwoorden, Ik zou best raadplegen documentatie voor toupper. Om dit te doen, laat me een grotere terminal te openen raam buiten gedit, en typ man toupper, waardoor betekent dat ik zou willen openen zogenaamde man pagina voor de functie toupper. Bij het slaan Enter, zie ik een scherm als deze. En nu merken dat ze lijken te hebben combineerde de documentatie voor toupper bovenkant met die voor tolower. Maar maakt niet uit. U zult merken onder de samenvatting die Ik moet denken dat, inderdaad, om dit te gebruiken functie, moet ik ook de header file ctype.h. Daaronder zie je dat toupper is aangegeven als terugkerende een int en accepteren van een int, die een beetje nieuwsgierig, want tot nu toe heb ik geweest manipuleren alleen chars. Maar dat is OK. Het blijkt dat dit slechts een conventie, en we kunnen nog steeds gebruik maken van c als al is het een char, hoewel het is gedeclareerd als een int. Nu, in de beschrijving hier, zie ik dat toupper zet de letter c om hoofdletters indien mogelijk. En onder return waarde, zie ik dat de geretourneerde waarde die van de omgezet letter of c, indien de conversie niet mogelijk. En er is het inzicht Ik was op zoek naar. Als c is in feite een kleine brief, het lijkt erop dat toupper zal simpelweg geeft het door ongewijzigd. Dus laten we nu terugkeren naar mijn code. En laten we verwijderen nu het geheel van deze voorwaardelijke blok en te vervangen, heel eenvoudig, met printf% c komma toupper van s beugel i sluiten Paren dicht Paren puntkomma, waardoor betekent dat ik zou willen% c vervangen met de kapitalisatie van de et brief in s als de i letter in s wordt in kleine letters. Of zelfs als het niet is, zal het doorlopen ongewijzigd. Laten we nu dit programma samen te stellen met maken capitalize2, en voer het uit met capitalize2, nogmaals, het typen hello. En inderdaad, krijgen we terug hoofdletters. Laten we opnieuw typen David. En het ook een hoofdletter.