DAVID MALAN: Låt oss nu förfina detta program lite längre. Skulle det inte vara trevligt om toupper kunde kapitalisera ett brev om gemener, samt om inte gemener, pass det genom oförändrad? Med andra ord, skulle jag byta ut min if-else-block med en enda samtal till toupper? 

Jo, för att besvara denna fråga, Jag skulle bäst rådfråga dokumentation för toupper. För att göra detta, låt mig öppna en större terminal fönster utanför gedit och skriv man toupper och därigenom vilket innebär att jag vill öppna den sk manualsidan för funktionen toupper. Vid slå in, ser jag en skärm som den här. Och nu märker att de verkar ha kombinerat dokumentationen för toupper övre med det för tolower. Men oavsett. 

Du kommer att märka under synopsis som Jag påminns om att, ja, för att använda detta funktion, måste jag inkludera header-fil ctype.h. Därunder ser du att toupper är deklareras som åter en int och acceptera en int, vilket är lite nyfiken, eftersom hittills har jag varit endast manipulera tecken. Men det är OK. Det visar sig att detta bara är en konvent, och vi kan fortfarande använda c som om det är en röding, även om det deklareras som en int. 

Nu, i beskrivningen här, ser jag att toupper omvandlar bokstaven c till versaler om möjligt. Och under returvärde, ser jag att det returnerade värdet är den med konverterad bokstav, eller c, om konvertering inte var möjligt. Och det finns insikten Jag letade efter. Om c är inte, i själva verket, ett gement brev, verkar det som toupper kommer helt enkelt sprider den oförändrad. 

Så låt oss nu återvända till min kod. Och låt oss nu ta bort helheten av denna villkorsblocket och ersätta den, helt enkelt, med printf% c kommatecken toupper av s fäste jag stänger Paren close föräldra semikolon, och därigenom vilket innebär att jag skulle vilja byta ut% c med aktivering av : te bokstaven i er om den i: te brev i s är gemener. Eller även om det inte är, kommer det att vara passera genom oförändrad. 

Låt oss nu kompilera programmet med göra capitalize2, och kör den med capitalize2, återigen, att skriva hej. Och faktiskt, vi får tillbaka versaler. Låt oss återigen skriver David. Och det är också versaler.