DAVID MALAN: Supponiamo vorremmo scrivere un programma che richiede all'utente per una stringa e poi capitalizza quella stringa. Bene, cominciamo con alcuni familiari codice dichiara una stringa denominata s e assegnandogli il ritorno valore GetString. E andiamo ora procediamo a iterare i caratteri di questa stringa. Beh, come fare? Si scopre che una stringa è solo un sequenza di caratteri, ma più correttamente, una stringa è un array di caratteri, il che significa che possiamo usare notazione parentesi quadra per indicizzare una stringa e arrivare a livello individuale caratteri. In altre parole, possiamo effettuare le seguenti operazioni. Per int, mi viene 0 e n Gets, dire, la lunghezza di s, utilizzando la nostra funzione [? agitare?] [? linea,?] i è minore di n i + +. In altre parole, con questo ciclo, si iterare su tutte le lettere n nella stringa s. E all'interno di questo ciclo, ho intenzione di controllare, se il carattere i-esimo in s maggiore o uguale a minuscola, e il carattere i-esimo è inferiore o pari ad una c minuscola, allora voglio procedere alla capitalizzare tale lettera. In altre parole, voglio stampare% c come segnaposto e sostituire a che segnaposto s staffa i. Ma poi ho bisogno di convertire Staffa s i in maiuscolo. Per fare questo, posso semplicemente sottrarre qualunque sia la differenza tra minuscola e maiuscola R. Beh, io in realtà non ricordare che il capitale A è 65 in ASCII, e minuscole a è 97. Quindi la differenza è tecnicamente 32. Così ho potuto solo codificare 32 qui. Ma potrebbe non necessariamente ricordare quei numeri. E inoltre, cosa succede se variare a seconda del computer? Molto probabilmente non lo sono. Ma il punto rimane che posso ancora generalizzare tale espressione aritmetica come appena qualunque sia la differenza tra una minuscola e maiuscola è quello che voglio sottrarre fuori da questo particolare lettera minuscola. Ora, se questa particolare lettera Non è minuscolo, ho semplicemente voglia di stamparlo. printf,% c come il mio segnaposto, s staffa i. Al fondo di questo programma, andiamo semplicemente stampare a capo in modo che il mio pronta su un nuovo appare linea propria. Vediamo ora compilare questo programma con make capitalize0. Corriamo con capitalize0. E cerchiamo di digitare in una parola come ciao a tutti minuscolo. Mi rimetto CIAO in maiuscolo come previsto. Ma proviamo un altro test, questa volta con il mio nome, D-A-V-I-D, ma con la prima D maiuscola, proprio in caso ho messo qualcosa con quel primo carattere. Invio e D-A-V-I-D in maiuscolo viene stampato pure.