1 00:00:00,000 --> 00:00:00,366 2 00:00:00,366 --> 00:00:01,830 >> SPEAKER: jo bomo niz. 3 00:00:01,830 --> 00:00:03,510 To je samo zaporedje znakov. 4 00:00:03,510 --> 00:00:05,790 Pravzaprav, to je preprosto nabor znakov. 5 00:00:05,790 --> 00:00:09,730 In tudi če bomo dobili niz s za uporabo na običajen način s CS50 je 6 00:00:09,730 --> 00:00:13,550 GetString, lahko nato nadaljujte Ponovil nad znakov v tem nizu 7 00:00:13,550 --> 00:00:17,110 ena naenkrat, kakor da bi Niz je res matrika. 8 00:00:17,110 --> 00:00:18,660 Poskusimo to kodo. 9 00:00:18,660 --> 00:00:21,470 >> Vključi cs50.h. 10 00:00:21,470 --> 00:00:24,440 Vključi stdio.h. 11 00:00:24,440 --> 00:00:27,960 In naj tudi string.h tako da imamo dostop 12 00:00:27,960 --> 00:00:29,500 Funkcija StringLen. 13 00:00:29,500 --> 00:00:33,220 Pojdimo zdaj razglaša glavni kot int main neveljavne. 14 00:00:33,220 --> 00:00:36,740 In kaj je sedaj nadaljuje, da bi dobili niz od uporabnika. 15 00:00:36,740 --> 00:00:39,480 Printf vhod. 16 00:00:39,480 --> 00:00:45,180 Pojdimo zdaj razglaša niz ga kliče s, in pokličite naš prijatelj GetString. 17 00:00:45,180 --> 00:00:49,570 >> Dajva zdaj nadaljuje, da preverite, kaj uporabnik res mi niz, saj 18 00:00:49,570 --> 00:00:53,370 Izkazalo se je po GetString lastne dokumentacijo, bi GetString na 19 00:00:53,370 --> 00:00:56,830 priložnost vrne null, posebno sentinel vrednost, ki v bistvu 20 00:00:56,830 --> 00:00:59,630 pomeni, da uporabnik ni sodelujejo in nekako naredil 21 00:00:59,630 --> 00:01:01,150 ne zagotavljajo niz. 22 00:01:01,150 --> 00:01:03,190 Torej, kaj je preveriti, da s pogojem. 23 00:01:03,190 --> 00:01:09,300 >> Če S ni enaka nič, potem smo lahko Predvidevam, da s je res niz, 24 00:01:09,300 --> 00:01:14,580 Niz znakov, in nadaljuje, da Ponovil preko teh znakov. 25 00:01:14,580 --> 00:01:22,240 ZA int i dobi 0, pa tudi razglasila n kot enak dolžini niza S tako 26 00:01:22,240 --> 00:01:27,900 Dokler i manjša od n, in na vsaki ponovitev, kaj je prirastek i. 27 00:01:27,900 --> 00:01:35,200 V to zanko, POTEM, recimo printf od% c backslash n in nato priključite 28 00:01:35,200 --> 00:01:41,140 v tej vrednosti s konzolo i čimer tiskanje en znak naenkrat vsakem 29 00:01:41,140 --> 00:01:42,420 avtomobilov v s. 30 00:01:42,420 --> 00:01:45,210 >> Pojdimo zdaj zbira in zagon tega programa. 31 00:01:45,210 --> 00:01:47,140 Naredite niz. 32 00:01:47,140 --> 00:01:52,500 . / String Moj vhod bo "zdravo". In tam jo imamo. 33 00:01:52,500 --> 00:01:55,410 H-E-L-L-O, vsak znak v svoji vrstici. 34 00:01:55,410 --> 00:01:56,727