>> SPEAKER: Budeme říkat řetězec.
Je to jen posloupnost znaků.
Opravdu, je to prostě pole znaků.
A tak, i když dostaneme řetězec od uživatel obvyklým způsobem s CS50 je
GetString, pak můžeme přistoupit k iterovat přes znaky v tomto řetězci
jeden po druhém, jako by, že Řetězec je opravdu pole.
Zkusme to v kódu.
>> Zahrnout cs50.h.
Zahrnout stdio.h.
A pojďme také patří string.h takže máme přístup
fungovat StringLen.
Pojďme se nyní prohlašují, hlavní jako int main void.
A pojďme nyní postupovat, aby se řetězec od uživatele.
Printf vstup.
Pojďme se nyní deklarovat řetězec volání je s, a zavolejte na naši kamarádku GetString.
>> Pojďme nyní přistoupit ke kontrole, dělal uživateli opravdu mi dát řetězec, protože
to dopadá na GetString vlastní dokumentaci, mohli GetString na
příležitosti návratu NULL, speciální hlídka hodnota, která v podstatě
znamená, že uživatel neměl spolupracovat a nějak udělal
neposkytuje řetězec.
Takže pojďme se podívat na to s podmínkou.
>> IF s není rovno NULL, pak můžeme Předpokládám, že to je skutečně řetězec,
řada postav, a přejděte k iteraci těchto znaků.
PRO int i dostane 0, pojďme také prohlásit, n jako rovná délce struny s tak
pokud i je menší než n, a na každé iterace, pojďme zvýšit i.
V rámci této smyčky PAK, říkejme printf z% c zpětné lomítko n a pak připojte
na tuto hodnotu s držákem i tím tisk jeden znak v době každého
automobilů v s..
>> Pojďme se nyní sestavit a spustit tento program.
Ujistěte se řetězec.
. / String Můj vstup bude "Dobrý den." A tady to máme.
H-E-L-L-O, každý char na vlastním řádku.