DAVID MALAN: Antag att vi vill skriva ett program som uppmanar användaren för en sträng och sedan aktiverar den strängen. Nåväl, låt oss börja med några bekanta kod förklara en sträng som heter s och tilldela den avkastningen värdet av getString. Och låt oss nu gå vidare för att iterera över karaktärerna i denna sträng. Nå, hur man gör det? Det visar sig att en sträng är bara en sekvens av tecken, men mer på rätt sätt, är en sträng som en matris med tecken, vilket innebär att vi kan använda klammer notation för index i en sträng och få på individuell tecken. Med andra ord kan vi gör följande. För int, jag får 0, och n blir, säga, längden s, med användning av vår funktion [? rör om?] [? linje,?] i är mindre än n i + +. Med andra ord, med denna slinga, vi kommer att iterera över alla n bokstäver i strängen s. Och inom denna loop, kommer jag att kontrollera, om den i: te karaktär i s större än eller lika till gemener en, och den i: te karaktär är mindre än eller lika med ett gement c, då vill jag fortsätta att kapitalisera den bokstaven. Med andra ord, jag vill skriva ut% c som en platshållare och ersättare i för som platshållare s Bracket I. Men då jag behöver konvertera s fäste jag till versaler. För att göra detta, kan jag helt enkelt subtrahera vad är skillnaden mellan gement a och kapital A. Tja, jag faktiskt kommer ihåg att kapital A är 65 i ASCII, och gemener en är 97. Så skillnaden är tekniskt 32. Så jag kunde bara hårt kod 32 här. Men jag kanske inte nödvändigtvis minns dessa siffror. Och dessutom, vad händer om de varierar från dator? Troligtvis är de inte. Men poängen är fortfarande att jag kan fortfarande generalisera det aritmetiska uttryck såsom just vad skillnaden är mellan ett gement a och en kapital A är vad jag vill att subtrahera bort från denna särskilda liten bokstav. Nu, om detta särskilda brev inte gemener, jag helt enkelt vill skriva ut. printf,% c som min platshållare, s Bracket I. Längst ner i detta program, låt oss helt enkelt skriva ut newline så att min prompt visas på en ny egen rad. Låt oss nu kompilera programmet med make capitalize0. Låt oss köra den med capitalize0. Och låt oss skriva in ett ord som hej i gemener. Jag får tillbaka HELLO versaler som förväntat. Men låt oss försöka ett test, den här gången med mitt eget namn, D-A-V-I-D, men med den första D aktiveras, bara i fall jag trasslat upp något med det första röding. Enter, och D-A-V-I-D i versaler skrivs också.