1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. Malan: Нека вземем нещата една стъпка по-нататък, сега. 3 00:00:02,460 --> 00:00:05,450 Да предположим, че аз не просто искам , за да отпечатате всички от програмата ми 4 00:00:05,450 --> 00:00:06,630 аргументи командния ред. 5 00:00:06,630 --> 00:00:10,490 Но, вместо това, искате да разпечатате всички отделните символи във всяка от 6 00:00:10,490 --> 00:00:14,060 моите аргументи на командния ред, по един на линия, така, че при използването на този 7 00:00:14,060 --> 00:00:17,490 програма, аз просто видите поток от герои на екрана, че 8 00:00:17,490 --> 00:00:20,700 заедно са от моя последователност на аргументи от командния ред. 9 00:00:20,700 --> 00:00:21,980 >> Е, как мога да направя това? 10 00:00:21,980 --> 00:00:26,540 Мога да запази непокътната моята линия от преди при което аз итеративен от I до този 11 00:00:26,540 --> 00:00:30,060 ARGC, за да се интегрират над река командния ред самите аргументи. 12 00:00:30,060 --> 00:00:34,460 Но сега, в рамките на всяка итерация на този контур, имам нужда да се обхождане на всеки 13 00:00:34,460 --> 00:00:38,550 от героите или овъгли в специфичен низ. 14 00:00:38,550 --> 00:00:40,620 Така че, за да направи това, имам нужда от още един цикъл. 15 00:00:40,620 --> 00:00:42,090 >> Нека добавим, че. 16 00:00:42,090 --> 00:00:46,890 за ПНА, нека го наречем J, е равна на 0. 17 00:00:46,890 --> 00:00:49,980 Сега аз ще трябва да се интегрират нагоре, докато дължината на 18 00:00:49,980 --> 00:00:52,310 текущия низ в ARGV. 19 00:00:52,310 --> 00:00:55,910 Така че позволете ми да се даде друга местна променлива, ние ще го наричаме N, и да зададете 20 00:00:55,910 --> 00:01:00,120 че равна на дължината на низ текущия аргумент, който ще бъде 21 00:01:00,120 --> 00:01:04,230 намерено в ARGV скоба и запетая. 22 00:01:04,230 --> 00:01:08,500 >> Позволете ми сега да обхождане от J до до п последвано от 23 00:01:08,500 --> 00:01:10,400 нарастване на всяка итерация. 24 00:01:10,400 --> 00:01:13,850 Нека сега отпечатате индивида героите на екрана. 25 00:01:13,850 --> 00:01:21,920 ФОРМАТ% в това време, последвано от ново линия, в близост цитат, запетая, а сега 26 00:01:21,920 --> 00:01:25,565 нужда от к-ти характер в аргумента-тото. 27 00:01:25,565 --> 00:01:30,240 >> Така че, за да получите по това, че мога просто уточни ARV скоба аз да 28 00:01:30,240 --> 00:01:32,050 получите аргумента I-та. 29 00:01:32,050 --> 00:01:36,140 И тогава може да се потопите в едно ниво по-дълбоко и направи вторичен индекс на 30 00:01:36,140 --> 00:01:40,420 скоба J, в близост скоби, точка и запетая, Save. 31 00:01:40,420 --> 00:01:43,610 И нека сега да състави и стартирате тази програма. 32 00:01:43,610 --> 00:01:46,630 >> Направете ARGV2 - 33 00:01:46,630 --> 00:01:48,440 не е съвсем това, което аз очаквах. 34 00:01:48,440 --> 00:01:50,740 Нека превъртете до първия на тези съобщения за грешки. 35 00:01:50,740 --> 00:01:54,540 И в червено тук, ние виждаме, грешка, неявно деклариране функция библиотека 36 00:01:54,540 --> 00:01:56,290 strlen с тип - 37 00:01:56,290 --> 00:01:57,380 О, чакай малко. 38 00:01:57,380 --> 00:02:00,340 Това е първият път, когато съм използвал strlen, и аз не очаквах 39 00:02:00,340 --> 00:02:04,970 го искат на първо място, така че аз не включва заглавната част на файла, който обявява 40 00:02:04,970 --> 00:02:06,290 функция дължина низ. 41 00:02:06,290 --> 00:02:09,419 >> Така в началото на моето досие, Спомнете си, имам CS50.h. 42 00:02:09,419 --> 00:02:11,080 Имам стандарт io.h. 43 00:02:11,080 --> 00:02:14,500 Но се оказва, че и аз знам това от Прочитането на документацията, че имам нужда 44 00:02:14,500 --> 00:02:18,320 файл третия удар с глава, ако аз, наистина, искате да използвате функцията strlen. 45 00:02:18,320 --> 00:02:22,760 Тази функция е обявен в string.h. 46 00:02:22,760 --> 00:02:25,230 >> Нека да запишете отново файла, компилирате и стартирате. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 И този път, ние не само виждат един от аргументите. 49 00:02:35,570 --> 00:02:40,470 Ние вместо да се виждат един от аргументите един символ в даден момент. 50 00:02:40,470 --> 00:02:43,165