DAVID MALAN: Să presupunem că am dori să scrie un program care solicită utilizatorului pentru un șir și apoi valorifică ca șir. Ei bine, să începem cu ceva familiar Codul de declarare a unei coarde numit s și atribuindu-se revenirea Valoarea de getstring. Și să procedeze acum pentru a itera peste personajele din acest șir. Ei bine, cum să faci asta? Se pare că un șir este doar o secvență de caractere, dar mai mult în mod corespunzător, un șir este o matrice de caractere, ceea ce înseamnă că se poate folosi paranteză notație de index în un șir și ajunge la individ caractere. Cu alte cuvinte, putem procedați în felul următor. Pentru Int, i devine 0, și n devine, spune, lungimea s, folosind Funcția noastră [? se amestecă?] [? linie,?] i este mai mic decât n i + +. Cu alte cuvinte, cu această buclă, am se va repeta peste tot n litere în șir s. Și în această buclă, am de gând să verifica, în cazul în care caracterul i-lea în s mai mare sau egal cu litere mici o, și caracterul i-lea este mai mic sau egal la un c litere mici, apoi vreau să continua să profite de această scrisoare. Cu alte cuvinte, vreau să imprime% c ca un substituent și substitut în pentru suport care substituent s i. Dar apoi am nevoie pentru a converti s suport i în majuscule. Pentru a face acest lucru, eu pot scădea pur și simplu indiferent de diferența între litere mici și un capital de A. Ei bine, eu de fapt mi ​​aduc aminte că de capital A este 65 în ASCII, și litere mici o este de 97. Deci, diferența este tehnic 32. Așa că am putea doar cod greu de 32 aici. Dar s-ar putea nu neapărat amintiți-vă aceste numere. Și mai mult, ceea ce în cazul în care variază în funcție de calculator? Cel mai probabil, ei nu sunt. Dar ideea rămâne că pot încă generaliza ca expresie aritmetică ca doar ceea ce diferența este între un minuscule și un capital de un A este ceea ce vreau, pentru a scădea off de la această literă mică special. Acum, în cazul în care această scrisoare special nu este litere mici, eu pur și simplu doriți să-l imprimați. printf,% c ca substituent mea, s suport i. În partea de jos a acestui program, să pur și simplu imprima linie nouă, astfel încât meu promptă apare pe un nou linie proprie. Hai acum compila acest program cu make capitalize0. Să-l rula cu capitalize0. Și să introduceți într-un cuvânt ca salut în toate litere mici. Mă întorc HELLO în majuscule cum era de așteptat. Dar hai să încercăm mai mult un test, de această dată cu numele meu, D-A-V-I-D, dar cu primul D capitalizate, doar în caz am stricat ceva cu care primul char. Introduceți, și D-A-V-I-D cu majuscule este tipărit, de asemenea.