1 00:00:00,000 --> 00:00:03,250 >> SPEAKER 1: Poďme teraz napísať program, oni skutočne porovnáva dva reťazce 2 00:00:03,250 --> 00:00:04,245 znak pre znak. 3 00:00:04,245 --> 00:00:06,830 Využime porovnať 0 ako náš východiskový bod. 4 00:00:06,830 --> 00:00:11,550 Ale poďme najprv šupkou späť vrstva, ktorá je typu string a prepísať ho 5 00:00:11,550 --> 00:00:14,120 na to, čo skutočne je, čo je char hviezda. 6 00:00:14,120 --> 00:00:17,740 To je adresa charakteru, konkrétne prvý znak v 7 00:00:17,740 --> 00:00:21,010 postupnosť znakov, ktoré by sme viac všeobecne známy ako reťazec. 8 00:00:21,010 --> 00:00:21,880 >> Rovnaké pre t 9 00:00:21,880 --> 00:00:25,660 Poďme prepísať ten reťazec vyhlásenie ako char hviezdy. 10 00:00:25,660 --> 00:00:28,690 A teraz musíme už porovnať s proti t, inak 11 00:00:28,690 --> 00:00:30,150 porovnáme dve adresy. 12 00:00:30,150 --> 00:00:33,180 Chceme naozaj porovnávať dve samotné reťazca. 13 00:00:33,180 --> 00:00:37,520 Ak to chcete vykonať, môžeme použiť funkciu vyhlásil v string.h. 14 00:00:37,520 --> 00:00:40,920 Tak som si dodať, že patrí na vrchole svojho súboru. 15 00:00:40,920 --> 00:00:43,130 >> A potom idem na zmenu tento riadok tu. 16 00:00:43,130 --> 00:00:47,920 Skôr než porovnať s proti t, som bude volať funkcie miešacie comp, 17 00:00:47,920 --> 00:00:52,290 pre reťazec porovnať, a odovzdať sa ako argumenty S a T. 18 00:00:52,290 --> 00:00:56,480 Budeme odložiť potom reťazec porovnať zistiť, či s a t sú naozaj rovné 19 00:00:56,480 --> 00:00:59,870 a nechať to zistiť, ako porovnať je znak pre znak. 20 00:00:59,870 --> 00:01:02,410 >> Teraz, podľa dokumentácie pre reťazec porovnať, je to v skutočnosti 21 00:01:02,410 --> 00:01:06,920 chystá vrátiť hodnotu 0, ak dva reťazce ukázal na o s a t sú rovnaké. 22 00:01:06,920 --> 00:01:09,490 Bude to vráti záporné číslo ak by sa mala prísť pred t 23 00:01:09,490 --> 00:01:13,740 podľa abecedy alebo kladné číslo, ak s by mala prísť po t abecedne. 24 00:01:13,740 --> 00:01:16,090 >> Ale teraz, len my sa staráme o rovnosti. 25 00:01:16,090 --> 00:01:19,270 Takže budem jednoducho otestovať, či Návratová hodnota reťazca porovnávať, 26 00:01:19,270 --> 00:01:21,450 prechádzajúcej v S a T, sa rovná 0. 27 00:01:21,450 --> 00:01:24,940 A ak áno, budem tvrdiť, že dva reťazce sú rovnaké. 28 00:01:24,940 --> 00:01:26,820 >> Ale ja idem urobiť jednu iné zmeny rovnako. 29 00:01:26,820 --> 00:01:30,410 Ukazuje sa, že get reťazec, na IDS dokumentáciu, môže niekedy vrátiť 30 00:01:30,410 --> 00:01:34,320 null, hodnota Sentinel, že v súlade dostať reťazcov dokumentácii znamená, 31 00:01:34,320 --> 00:01:35,450 niečo zlého stalo. 32 00:01:35,450 --> 00:01:38,830 Napríklad, máme nedostatok pamäte alebo užívateľ nejako nespolupracoval. 33 00:01:38,830 --> 00:01:41,080 >> String porovnať, medzitým, je trochu krehký. 34 00:01:41,080 --> 00:01:44,730 Ak odovzdáte je null buď jeho Prvý alebo druhý argument, zlý 35 00:01:44,730 --> 00:01:45,650 čo sa môže stať. 36 00:01:45,650 --> 00:01:47,970 Zlé veci sa zvyčajne zahŕňajúce segmentácia chyby. 37 00:01:47,970 --> 00:01:52,210 Tak, aby sa predišlo tomu, že potenciál úplne, Ja som prvý bude zabaliť toto použitie 38 00:01:52,210 --> 00:01:56,350 string porovnať odsadením tento celok blok kódu a prvý len to, 39 00:01:56,350 --> 00:02:03,140 , Že v prípade, s nie je rovné null a t nie je rovné null. 40 00:02:03,140 --> 00:02:08,280 >> Baliace, že pokiaľ iný konštrukt, ktorý ja napísal skôr sa zložených zátvoriek ako 41 00:02:08,280 --> 00:02:12,270 dobre, takže tentokrát som len dotknúť s a t, či som si istý, že 42 00:02:12,270 --> 00:02:13,450 nie sú null. 43 00:02:13,450 --> 00:02:17,220 Poďme teraz uložiť, skompilovať, a znova spustiť tento program. 44 00:02:17,220 --> 00:02:22,240 >> Urobiť porovnaj 1 bodka lomítko Porovnať 1. 45 00:02:22,240 --> 00:02:23,950 Budem pozdraviť znova. 46 00:02:23,950 --> 00:02:25,890 Nasledoval opäť ahoj. 47 00:02:25,890 --> 00:02:28,110 A tentoraz som naozaj zadajte to isté. 48 00:02:28,110 --> 00:02:30,255