>> DAVID MALAN: Antag at vi gerne vil skrive et program, der beder brugeren
efter en streng, og derefter udnytter denne streng.
Nå, lad os starte med nogle velkendte kode erklære en streng kaldet s og
tildele den afkastet værdi getString.
Og lad os nu fortsætte med at gentage over personerne i denne streng.
Nå, hvordan man gør det?
Det viser sig, at en streng er blot en sekvens af tegn, men mere
ordentligt, en streng er en vifte af tegn, hvilket betyder vi kan bruge
firkantet beslag notation til indekset i en snor og komme på individuel
tegn.
>> Med andre ord, kan vi gøre følgende.
For int, jeg får 0, og n bliver, sige, at længden af ​​s, ved hjælp af
vores funktion [? omrøres?]
[? linje,?]
i er mindre end n i + +.
Med andre ord, med denne løkke, vi vil gentage over alle n bogstaver
i strengen s.
Og inden for denne løkke, vil jeg check, hvis i'te karakter i s
større end eller lig med små bogstaver a, og den i'te karakter er mindre end eller
svarende til et lille c, så vil jeg fortsæt at kapitalisere det bogstav.
Med andre ord, jeg ønsker at udskrive% c som pladsholder og erstatning i for
at pladsholder s beslag jeg.
>> Men så er jeg nødt til at konvertere s beslag jeg til store bogstaver.
For at gøre dette, kan jeg simpelthen trække uanset forskellen er mellem
små bogstaver a og kapital A. Nå, jeg faktisk kan huske, at kapital A er
65 i ASCII og lille en er 97.
Så forskellen er teknisk 32.
Så jeg kunne bare svært kode 32 her.
Men jeg er måske ikke nødvendigvis huske disse numre.
>> Og i øvrigt, hvad nu hvis de variere fra computer?
Mest sandsynligt er de ikke.
Men pointen er, at jeg stadig kan generalisere det aritmetiske udtryk
som blot uanset forskellen mellem et lille a og et stort A
er hvad jeg ønsker at trække væk fra netop denne lille bogstav.
>> Nu, hvis denne bestemt bogstav ikke små bogstaver, jeg simpelthen
ønsker at printe det ud.
printf,% c som min pladsholder, s beslag dvs.
Nederst i dette program, så lad os bare udskrive newline så min
prompt vises på en ny sin linje.
>> Lad os nu kompilere dette program med make capitalize0.
Lad os køre det med capitalize0.
Og lad os skrive i et ord som Hej i alle små bogstaver.
Jeg kommer tilbage HELLO med store bogstaver som forventet.
Men lad os prøve en test mere, denne gang med mit eget navn, D-A-V-I-D, men med
den første D kapitaliseret, bare i tilfælde jeg rodet noget op
med det første tegn.
Enter, og D-A-V-I-D med store bogstaver udskrives så godt.