>> DAVID Malan: Suposem que ens agradaria escriure un programa que demana a l'usuari
per una cadena i després capitalitza aquesta cadena.
Bé, anem a començar amb una mica familiaritzat codi de declarar una cadena anomenada s i
assignant-li el retorn valor de getString.
I ara anem a procedir per repetir els personatges d'aquesta cadena.
Bé, com fer això?
Resulta que una cadena és només un seqüència de caràcters, però més
adequadament, una cadena és un arranjament de caràcters, el que significa que podem utilitzar
square bracket notació d'índex en una cadena i obtenir l'individu
personatges.
>> En altres paraules, podem feu el següent.
Per int i Obté 0, i n es fa, dir, la longitud de s, utilitzant
la nostra funció [? agitar?]
[? línia,?]
i és menor que n i + +.
En altres paraules, amb aquest bucle, es iterar sobre totes les lletres n
a la cadena s.
I dins d'aquest bucle, que vaig a comprovar, si el caràcter d'ordre i en si
més gran que o igual a minúscules 01:00, i el caràcter i-èsim és menor o
igual a una c minúscula, llavors vull procedirà a capitalitzar aquesta lletra.
En altres paraules, vull imprimir% c com a marcador de posició i substituir per
suport de marcador de posició que s i.
>> Però llavors el que necessito per convertir s abraçadora i en majúscules.
Per a això, simplement puc restar qualsevol que sigui la diferència entre
minúscula i el capital A. Bé, En realitat no recordo que el capital és un
65 en ASCII, i en minúscules a és 97.
Per tant la diferència és tècnicament 32.
Així que acabo de poder codificar 32 aquí.
Però podria no necessàriament recordar aquests nombres.
>> I més encara, i si variar segons l'ordinador?
El més probable és que no ho són.
Però el punt és que encara puc generalitzar que l'expressió aritmètica
tan sols el que la diferència és entre una minúscula i una majúscula
és el que jo vull restar fora de aquesta lletra minúscula particular.
>> Ara bé, si aquesta carta en particular no està en minúscules, simplement
desitgi imprimir-lo.
printf,% c com el meu marcador de posició, s abraçadora i.
A la part inferior d'aquest programa, anem a simplement imprimir nova línia perquè el meu
símbol apareix en un nou línia pròpia.
>> Ara anem a compilar aquest programa amb maquillatge capitalize0.
Anem a executar-lo amb capitalize0.
I anem a escriure una paraula com hola en minúscules.
Torneu HOLA en majúscules com s'esperava.
Però intentarem una prova més, aquesta vegada amb el meu propi nom, D-A-V-I-D, però amb
la primera D majúscula, només en cas vaig ficar alguna cosa
amb aquest primer caràcter.
Entrar i D-A-V-I-D en majúscules s'imprimeix també.