>> Дејвид Џ MALAN: Да го земеме работите еден чекор понатаму, сега.
Да претпоставиме дека јас не само сакаат да се печати сите мои програмата
командната линија аргументи.
Но јас, наместо тоа, сакате да се печати сите индивидуални карактери во секоја од
мојата командната линија аргументи, по еден на линија, така што по извршувањето на оваа
програма, јас едноставно се види поток од карактери на екранот што
колективно се од мојот секвенца на командната линија аргументи.
>> Па, како можам да го направите ова?
Јас може да ги задржи непроменети мојот циклус од пред при што повторната од i до
Argc, со цел да се интегрираат во текот на командната линија се аргументи.
Но сега, во рамките на секоја итерација на таа јамка, јас треба да сега iterate преку секоја
на карактери или знаци во одредена низа.
Па да го направите тоа, ми треба уште еден циклус.
>> Ајде да додадам дека.
за int, ајде да го наречеме ѕ, е еднаква на 0.
Сега ќе одам да треба да се интегрираат до должината на
тековната низа во ARGV.
Па да ми даде мене друга локална променлива, ние ќе го наречеме n, и го постави
дека еднаква на низа должина на тековната расправија, која ќе биде
се најде во ARGV заградата јас запирка.
>> А сега допуштете ми iterate од ѕ до до n проследено со
прираст на секоја итерација.
Ајде сега да печати на поединецот карактери на екранот.
Printf% c тоа време проследено со нови линија, во близина понуда, запирка, а сега јас
треба ѕ-та карактер во i-тиот аргумент.
>> Па да се добие во тоа, можам да едноставно наведете АРВ заградата јас да
добие на i-тиот аргумент.
А потоа можам да се нурне во едно ниво подлабоко и да направите средно индекс на
заградата ѕ, во близина заграда, запирка, Save.
И ајде сега се компајлира и ја извршите оваа програма.
>> Направи ARGV2 -
не сосема она што јас го очекував.
Ајде да дојдете до првото на овие пораки за грешка.
И во црвено тука, ние гледаме на грешка, имплицитно наведува библиотека функција
strlen со тип -
ох, почекајте една минута.
Ова е прв пат сум се користи strlen, и јас не очекуваат
сакајќи го во прво време, па јас не вклучуваат хедер датотека, кој се декларира
низа должина функција.
>> Па на врвот на мојата датотека, потсетиме, имам CS50.h.
Имам стандард io.h.
Но излегува, и знам дека ова од читање на документација, што ми треба
една третина хедер датотека, ако јас, навистина, сакате да го користите strlen функција.
Таа функција е прогласена во string.h.
>> Ајде resave датотека, состави, и да ја стартувате.
И овој пат, тоа го правиме не само види едни од аргументите.
Ние наместо да се види секој од аргументите еден карактер во исто време.