1 00:00:00,000 --> 00:00:03,250 >> ZVUČNIK 1: Idemo sad napisati program oni doista uspoređuje dva niza 2 00:00:03,250 --> 00:00:04,245 znak za karaktera. 3 00:00:04,245 --> 00:00:06,830 Iskoristimo usporedbu 0 kao Naša polazna točka. 4 00:00:06,830 --> 00:00:11,550 Ali neka se prvo oguliti natrag sloj koji je tipa string i prepisati ga 5 00:00:11,550 --> 00:00:14,120 za ono što uistinu jest, što je char zvijezda. 6 00:00:14,120 --> 00:00:17,740 To je adresa karaktera, posebno prvi znak u 7 00:00:17,740 --> 00:00:21,010 slijed znakova da bismo više uglavnom znaju kao niz. 8 00:00:21,010 --> 00:00:21,880 >> Sve za t. 9 00:00:21,880 --> 00:00:25,660 Idemo prepisati taj string izjavu kao char zvijezde. 10 00:00:25,660 --> 00:00:28,690 I sada trebamo više nema usporediti s. protiv t, da se ne 11 00:00:28,690 --> 00:00:30,150 Usporedimo dvije adrese. 12 00:00:30,150 --> 00:00:33,180 Želimo doista usporedbu dvije same žice. 13 00:00:33,180 --> 00:00:37,520 Da biste to učinili, možemo koristiti funkciju proglasio u string.h. 14 00:00:37,520 --> 00:00:40,920 Dakle, ja ću dodati da su na vrhu moje datoteke. 15 00:00:40,920 --> 00:00:43,130 >> A onda ću promjene ova linija ovdje. 16 00:00:43,130 --> 00:00:47,920 Umjesto da usporediti s. protiv t, ja sam će pozvati funkciju promiješati comp, 17 00:00:47,920 --> 00:00:52,290 za string usporedbu, i proći u kao argumente ih i t. 18 00:00:52,290 --> 00:00:56,480 Mi ćemo odgoditi onda bi niz usporediti shvatiti ako s i t su doista jednaki 19 00:00:56,480 --> 00:00:59,870 i neka ga shvatiti kako usporediti im znak za karaktera. 20 00:00:59,870 --> 00:01:02,410 >> Sada, prema dokumentaciji za gudački usporedbu, to je zapravo 21 00:01:02,410 --> 00:01:06,920 će se vratiti 0 ako su dva niza je ukazao na S i T su isti. 22 00:01:06,920 --> 00:01:09,490 To će se vratiti negativan niz ako je trebao doći prije t 23 00:01:09,490 --> 00:01:13,740 abecednim redom ili pozitivan broj ako je trebao doći nakon t abecedi. 24 00:01:13,740 --> 00:01:16,090 >> No, za sada, možemo samo stalo o jednakosti. 25 00:01:16,090 --> 00:01:19,270 Pa ću jednostavno testirati ako Povratak vrijednost string usporedbu, 26 00:01:19,270 --> 00:01:21,450 prolaze s i t, jednaka je 0. 27 00:01:21,450 --> 00:01:24,940 I ako je tako, ja ću tvrditi da dvije žice su isti. 28 00:01:24,940 --> 00:01:26,820 >> Ali ja ću napraviti jedan druga promjena, kao dobro. 29 00:01:26,820 --> 00:01:30,410 Ispada koje se niz, po svoj dokumentacije, ponekad može vratiti 30 00:01:30,410 --> 00:01:34,320 null, Sentinel vrijednost koja je, prema da se žice dokumentaciju, sredstva 31 00:01:34,320 --> 00:01:35,450 nešto loše dogodilo. 32 00:01:35,450 --> 00:01:38,830 Na primjer, ponestalo je memorije ili Korisnik nekako nije surađivao. 33 00:01:38,830 --> 00:01:41,080 >> String usporedbu, u međuvremenu, je malo krhko. 34 00:01:41,080 --> 00:01:44,730 Ako to prođe null za bilo u svom Prvi ili njegov drugi argument, loša 35 00:01:44,730 --> 00:01:45,650 stvari mogu dogoditi. 36 00:01:45,650 --> 00:01:47,970 Loše stvari se obično uključuju segmentacije grešaka. 37 00:01:47,970 --> 00:01:52,210 Dakle, kako bi se izbjeglo da se potencijal uopce, Ja sam prvi put će završiti ovo uporabu 38 00:01:52,210 --> 00:01:56,350 Niz usporediti uvlačenjem ovu cjelinu blok koda i prvi samo radi 39 00:01:56,350 --> 00:02:03,140 da, ako je nije jednak nuli i t nije jednak nuli. 40 00:02:03,140 --> 00:02:08,280 >> Umatanje da ako drugi konstruiraju da ja upisali ranije s vitičastim zagradama su 41 00:02:08,280 --> 00:02:12,270 dobro, tako da ovaj put sam samo dodir s i t, ako sam siguran da 42 00:02:12,270 --> 00:02:13,450 nisu null. 43 00:02:13,450 --> 00:02:17,220 Idemo sada spasiti, sastaviti i ponovno pokrenuti ovaj program. 44 00:02:17,220 --> 00:02:22,240 >> Napravite usporedbu 1 točka crta usporediti jedan. 45 00:02:22,240 --> 00:02:23,950 Ja ću opet pozdraviti. 46 00:02:23,950 --> 00:02:25,890 Slijedi bok još jednom. 47 00:02:25,890 --> 00:02:28,110 I ovaj put, ja doista upisati istu stvar. 48 00:02:28,110 --> 00:02:30,255