1 00:00:00,000 --> 00:00:00,366 2 00:00:00,366 --> 00:00:01,830 >> SPEAKER: Budeme říkat řetězec. 3 00:00:01,830 --> 00:00:03,510 Je to jen posloupnost znaků. 4 00:00:03,510 --> 00:00:05,790 Opravdu, je to prostě pole znaků. 5 00:00:05,790 --> 00:00:09,730 A tak, i když dostaneme řetězec od uživatel obvyklým způsobem s CS50 je 6 00:00:09,730 --> 00:00:13,550 GetString, pak můžeme přistoupit k iterovat přes znaky v tomto řetězci 7 00:00:13,550 --> 00:00:17,110 jeden po druhém, jako by, že Řetězec je opravdu pole. 8 00:00:17,110 --> 00:00:18,660 Zkusme to v kódu. 9 00:00:18,660 --> 00:00:21,470 >> Zahrnout cs50.h. 10 00:00:21,470 --> 00:00:24,440 Zahrnout stdio.h. 11 00:00:24,440 --> 00:00:27,960 A pojďme také patří string.h takže máme přístup 12 00:00:27,960 --> 00:00:29,500 fungovat StringLen. 13 00:00:29,500 --> 00:00:33,220 Pojďme se nyní prohlašují, hlavní jako int main void. 14 00:00:33,220 --> 00:00:36,740 A pojďme nyní postupovat, aby se řetězec od uživatele. 15 00:00:36,740 --> 00:00:39,480 Printf vstup. 16 00:00:39,480 --> 00:00:45,180 Pojďme se nyní deklarovat řetězec volání je s, a zavolejte na naši kamarádku GetString. 17 00:00:45,180 --> 00:00:49,570 >> Pojďme nyní přistoupit ke kontrole, dělal uživateli opravdu mi dát řetězec, protože 18 00:00:49,570 --> 00:00:53,370 to dopadá na GetString vlastní dokumentaci, mohli GetString na 19 00:00:53,370 --> 00:00:56,830 příležitosti návratu NULL, speciální hlídka hodnota, která v podstatě 20 00:00:56,830 --> 00:00:59,630 znamená, že uživatel neměl spolupracovat a nějak udělal 21 00:00:59,630 --> 00:01:01,150 neposkytuje řetězec. 22 00:01:01,150 --> 00:01:03,190 Takže pojďme se podívat na to s podmínkou. 23 00:01:03,190 --> 00:01:09,300 >> IF s není rovno NULL, pak můžeme Předpokládám, že to je skutečně řetězec, 24 00:01:09,300 --> 00:01:14,580 řada postav, a přejděte k iteraci těchto znaků. 25 00:01:14,580 --> 00:01:22,240 PRO int i dostane 0, pojďme také prohlásit, n jako rovná délce struny s tak 26 00:01:22,240 --> 00:01:27,900 pokud i je menší než n, a na každé iterace, pojďme zvýšit i. 27 00:01:27,900 --> 00:01:35,200 V rámci této smyčky PAK, říkejme printf z% c zpětné lomítko n a pak připojte 28 00:01:35,200 --> 00:01:41,140 na tuto hodnotu s držákem i tím tisk jeden znak v době každého 29 00:01:41,140 --> 00:01:42,420 automobilů v s.. 30 00:01:42,420 --> 00:01:45,210 >> Pojďme se nyní sestavit a spustit tento program. 31 00:01:45,210 --> 00:01:47,140 Ujistěte se řetězec. 32 00:01:47,140 --> 00:01:52,500 . / String Můj vstup bude "Dobrý den." A tady to máme. 33 00:01:52,500 --> 00:01:55,410 H-E-L-L-O, každý char na vlastním řádku. 34 00:01:55,410 --> 00:01:56,727