>> DAVID MALAN: Lad os nu forfine dette program lidt længere.
Ville det ikke være rart, hvis toupper kunne et bogstav, hvis små bogstaver, og
hvis ikke små bogstaver, pass det gennem uændret?
Med andre ord kunne jeg udskifte min if-else blok med en
enkelt opkald til toupper?
>> Nå, for at besvare dette spørgsmål, Jeg ville bedst konsultere
dokumentation for toupper.
For at gøre det, så lad mig åbne en større terminal vindue uden for gedit, og
skriv derefter mand toupper, hvorved hvilket signalerer, at jeg gerne vil åbne
såkaldte man-siden for funktionen toupper.
Ved at trykke Enter, ser jeg en skærm som denne.
Og nu mærke til, at de synes at have kombineret dokumentationen for toupper
overdel med, at der for tolower.
Men uanset.
>> Du vil opdage under synopsis at Jeg mindes, at, ja, for at bruge denne
funktion, skal jeg medtage header fil ctype.h.
Nedenfor dette, kan du se at toupper er anmeldt som returnere en int og
godtagelse int, som er en smule nysgerrig, da hidtil, har jeg været
kun at manipulere tegn.
Men det er OK.
Det viser sig, at dette er blot en konvention, og vi kan stadig bruge C som
selvom det er en char, selvom det er erklæret som en int.
>> Nu, i beskrivelsen her, jeg kan se, at toupper konverterer bogstavet C til
store bogstaver, hvis muligt.
Og under returværdi, ser jeg, at den returnerede værdi er, at den
konverterede brev, eller c, hvis konvertering var ikke muligt.
Og der er den indsigt Jeg var på udkig efter.
Hvis c er ikke i virkeligheden et lille brev, synes det at toupper vil
bare give det videre uændret.
>> Så lad os nu vende tilbage til min kode.
Og lad os nu fjerne helhed denne betingede blok og erstatte det,
ganske enkelt, med printf% c komma toupper af s beslag jeg lukker paren
nære paren semikolon, hvorved hvilket signalerer, at jeg gerne vil erstatte% c
med kapitalisering af ed brev s, hvis den i'te
brev i s er små bogstaver.
Eller selv hvis det ikke er, vil det være passeret gennem uændret.
>> Lad os nu kompilere dette program med gøre capitalize2, og køre det med
capitalize2, igen, skrive hej.
Og ja, vi får tilbage store bogstaver.
Lad os igen skrive David.
Og det, også er store bogstaver.