DAVID J. MALAN: Låt oss ta saker ett steg längre, nu. Antag att jag inte bara vill för att skriva ut alla mina programmets kommandoradsargument. Men jag istället vill skriva ut alla enskilda tecken i varje mina kommandoradsargument, ett per linje, så att när du kör det här program, jag ser bara en ström av Tecknen på skärmen som kollektivt är från min sekvens av kommandoradsargument. Tja, hur kan jag göra detta? Jag kan hålla intakt min slinga från tidigare varvid jag iterativ från i upp till ARGC för att integrera över kommandoradsargument själva. Men nu, i varje iteration av att slinga, jag behöver nu iterera över varje av tecken eller tecken i en specifik sträng. Så för att göra det, jag behöver en till ögla. Låt oss lägga det. för int, låt oss kalla det j, lika med 0. Nu kommer jag att behöva integrera fram till längden av den aktuell sträng i argv. Så låt mig ge mig en annan lokal variabel, vi kallar det n, och ange som är lika med den stränglängd av aktuella argument, som kommer att bli finns i argv fäste jag semikolon. Låt mig nu iterera från j upp tills n följt av en inkrementera på varje iteration. Låt oss nu skriva ut enskilda tecken på skärmen. Printf% c denna gång följt av en ny linje, nära citationstecken, kommatecken, och nu har jag behöver den j: te tecken i den i: te argumentet. Så för att komma åt det, jag kan helt enkelt ange ARV fäste i till få den i: te argumentet. Och då kan jag dyka i en nivå djupare och göra ett sekundärt index för fäste j, nära parentes, semikolon, Spara. Och låt oss nu sammanställa och köra programmet. Gör ARGV2 - inte riktigt vad jag hade förväntat mig. Låt oss bläddra fram till den första av dessa felmeddelanden. Och i rött här, ser vi fel, implicit förklara biblioteksfunktion strlen med typ - åh, vänta lite. Detta är första gången jag har använt strlen, och jag inte förutsåg vill ha det först, så jag tog inte med rubrikfilen som förklarar en längd funktion sträng. Så på toppen av min fil, minns, jag har CS50.h. Jag har standard io.h. Men det visar sig, och jag vet detta från läsa dokumentationen, att jag behöver en tredje header-fil om jag, faktiskt, vill använda strlen funktion. Den funktionen deklareras i string.h. Låt oss spara om filen, kompilera och köra. Och den här gången, vi gör inte bara se var och en av argumenten. Vi ser i stället var och en av de argument ett tecken i taget.