>> DAVID Malan: Imos agora refinar este programa un pouco máis.
Non sería bo se puidese toupper unha letra en maiúscula, se minúsculas e
se non minúsculas, pase través inalterada?
Noutras palabras, eu podería substituír meu se else bloque cun
única chamada a toupper?
>> Ben, para responder a esta pregunta, É mellor eu consultar o
documentación para toupper.
Para facelo, déixeme abrir un terminal máis ventá fóra do gedit, e
a continuación, escriba o home toupper, así o que significa que eu quere abrir o
chamados páxina man o toupper función.
Premendo Intro, eu vexo unha pantalla como esta.
E agora entende que eles parecen ter combinado a documentación para toupper
superior, con que, para tolower.
Pero non importa.
>> Notará baixo a sinopse que Lembro que, en realidade, para utilizar esta
función, debo incluír o ctype.h ficheiro de cabeceira.
Debaixo diso, vostede ve que é toupper declaradas como retornando un int e
aceptar un int, que é un pouco curioso, xa que, ata agora, eu estiven
só manipular caracteres.
Pero iso é OK.
Acontece que este é só un convención, e aínda podemos utilizar como c
que sexa un char, aínda que é declarado como un int.
>> Agora, na descrición aquí, vexo que toupper converte a letra c para
maiúsculas, se é posible.
E baixo valor de retorno, eu vexo que o valor devolto é o da
carta converteuse, ou c, se o conversión non se pode.
E hai a visión Eu estaba a buscar.
Se c non é, de feito, unha minúscula carta, parece que vai toupper
simplemente pasalo inalterado.
>> Entón, imos agora volver ao meu código.
E imos agora eliminar a totalidade do este bloque condicional e substituílo,
pura e simplemente, con printf% c coma toupper de soporte s i pechar parénteses
paren preto e coma, así o que significa que me gustaría substituír% c
coa capitalización da carta om en s se o om
letra s minúsculas.
Ou incluso se non é, será pasado a través inalterada.
>> Imos agora compilar este programa coa facer capitalize2, e executa-lo con
capitalize2, de novo, escribindo Olá
E, de feito, recibimos de volta en maiúsculas.
Imos de novo escriba David.
E, tamén, é maiúscula.