1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> Дејвид Џ 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 Но сега, во рамките на секоја итерација на таа јамка, јас треба да сега iterate преку секоја 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 за int, ајде да го наречеме ѕ, е еднаква на 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 >> А сега допуштете ми iterate од ѕ до до n проследено со 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 Printf% c тоа време проследено со нови линија, во близина понуда, запирка, а сега јас 26 00:01:21,920 --> 00:01:25,565 треба ѕ-та карактер во i-тиот аргумент. 27 00:01:25,565 --> 00:01:30,240 >> Па да се добие во тоа, можам да едноставно наведете АРВ заградата јас да 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 заградата ѕ, во близина заграда, запирка, 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 >> Ајде resave датотека, состави, и да ја стартувате. 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