DAVID MALAN: Ahora vamos a refinar este programa un poco más lejos. ¿No sería bueno si pudiera toupper una letra en mayúsculas, si minúscula y si no es en minúsculas, pase a través de sin cambios? En otras palabras, ¿podría reemplazar mi if-else bloque con una sola llamada a toupper? 

Bueno, para responder a esta pregunta, Será mejor que consultar a los documentación para toupper. Para ello, vamos a abrir una terminal más grande fuera de la ventana de gedit, y a continuación, escriba el hombre toupper, con lo que lo que significa que me gustaría abrir el denominada página de manual de la toupper función. Al oprimir la tecla Enter, veo una pantalla como esta. Y ahora cuenta de que parece que tienen combinado la documentación para toupper superior con que para tolower. Pero no importa. 

Se dará cuenta de que en virtud de la sinopsis Me acuerdo de que, en efecto, para utilizar esta función, que debe incluir la ctype.h archivo de cabecera. Debajo de eso, se ve que es toupper declarado como devolver un int y aceptar un int, que es un poco curioso, ya que hasta ahora, he estado manipular sólo caracteres. Pero eso está bien. Resulta que esto es sólo una convención, y todavía podemos utilizar como c aunque es un char, a pesar de que está declarada como int. 

Ahora, en la descripción aquí, veo que toupper convierte la letra c a mayúsculas si es posible. Y bajo valor de retorno, veo que el valor devuelto es el de la carta convertida, oc, si el conversión no era posible. Y ahí está la visión Que estaba buscando. Si c no es, de hecho, una minúscula carta, parece que se toupper simplemente pasarlo adelante sin cambios. 

Así que ahora vamos a volver a mi código. Y ahora vamos a eliminar la totalidad de este bloque condicional y reemplazarlo, simplemente, con printf% c comas toupper de s abrazadera cierro paren cerca paren punto y coma, por lo tanto lo que significa que me gustaría reemplazar% c con la capitalización de la ésima letra en s si la i-ésima carta de s está en minúsculas. O incluso si no lo es, será pasado a través sin cambios. 

Ahora vamos a compilar este programa con hacer capitalize2, y ejecutarlo con capitalize2, de nuevo, al escribir hola. Y, en efecto, volvamos mayúsculas. Vamos de nuevo Tipo David. Y es, también, es mayúscula.