1 00:00:00,000 --> 00:00:03,250 >> GŁOŚNIK 1: Załóżmy teraz napisać program oni naprawdę porównuje dwa ciągi 2 00:00:03,250 --> 00:00:04,245 znaków dla znaku. 3 00:00:04,245 --> 00:00:06,830 Użyjmy Porównaj 0 jako nasz punkt wyjścia. 4 00:00:06,830 --> 00:00:11,550 Ale niech najpierw odwinąć warstwy, które jest typu ciąg i przepisać 5 00:00:11,550 --> 00:00:14,120 za to, co naprawdę jest, co jest gwiazdą char. 6 00:00:14,120 --> 00:00:17,740 To jest adres znaku, specjalnie pierwszy znak 7 00:00:17,740 --> 00:00:21,010 sekwencja znaków, które by bardziej powszechnie znany jako ciąg. 8 00:00:21,010 --> 00:00:21,880 >> Same dla t. 9 00:00:21,880 --> 00:00:25,660 Miejmy przepisać ciąg tego oświadczenia jak gwiazdy char. 10 00:00:25,660 --> 00:00:28,690 A teraz musimy się już nie porównanie s przed t, bo 11 00:00:28,690 --> 00:00:30,150 Porównując dwa adresy. 12 00:00:30,150 --> 00:00:33,180 Chcemy naprawdę porównać same dwa ciągi. 13 00:00:33,180 --> 00:00:37,520 Aby to zrobić, można użyć funkcji zadeklarowane w . 14 00:00:37,520 --> 00:00:40,920 Więc dodam, że obejmują na moim pliku. 15 00:00:40,920 --> 00:00:43,130 >> A potem idę do zmian ta linia tutaj. 16 00:00:43,130 --> 00:00:47,920 Zamiast porównać s przed t, jestem zamiar wywołać funkcję zamieszać comp, 17 00:00:47,920 --> 00:00:52,290 na ciąg porównać i przekazać w jako argumenty S i T. 18 00:00:52,290 --> 00:00:56,480 Będziemy odroczyć następnie do łańcucha w porównaniu do dowiedzieć się, czy s i t są rzeczywiście równe 19 00:00:56,480 --> 00:00:59,870 i niech dowiedzieć się, jak porównać ich charakter do charakteru. 20 00:00:59,870 --> 00:01:02,410 >> Obecnie, zgodnie z dokumentacją na ciąg porównać, to faktycznie 21 00:01:02,410 --> 00:01:06,920 powróci 0 jeśli dwa ciągi wskazała o s i t mają takie same. 22 00:01:06,920 --> 00:01:09,490 To się zwróci liczbę ujemną jeśli y powinny pochodzić przed t 23 00:01:09,490 --> 00:01:13,740 alfabetycznie lub liczba dodatnia czy y powinny pochodzić po t alfabetycznie. 24 00:01:13,740 --> 00:01:16,090 >> Ale na razie, tylko dbamy o równości. 25 00:01:16,090 --> 00:01:19,270 Więc mam zamiar po prostu sprawdzić, czy Wartość zwracana ciąg porównania, 26 00:01:19,270 --> 00:01:21,450 przechodząc w s i t, jest równa 0. 27 00:01:21,450 --> 00:01:24,940 A jeśli tak, to będę twierdzić, że te dwa łańcuchy są takie same. 28 00:01:24,940 --> 00:01:26,820 >> Ale mam zamiar zrobić jeden jak również inne zmiany. 29 00:01:26,820 --> 00:01:30,410 Okazuje się, że ciąg GET, za ITS dokumentacja, może czasem wrócić 30 00:01:30,410 --> 00:01:34,320 null, wartość wartownik, że zgodnie uzyskać dokumentację struny, środki 31 00:01:34,320 --> 00:01:35,450 coś złego się stało. 32 00:01:35,450 --> 00:01:38,830 Na przykład, że zabrakło pamięci lub użytkownik w jakiś sposób nie współpracował. 33 00:01:38,830 --> 00:01:41,080 >> Ciąg porównania, w międzyczasie, jest trochę niestabilna. 34 00:01:41,080 --> 00:01:44,730 Jeśli przejdzie to null albo jego pierwszy lub drugi argument, złe 35 00:01:44,730 --> 00:01:45,650 rzeczy mogą się zdarzyć. 36 00:01:45,650 --> 00:01:47,970 Złe rzeczy zwyczajowo w wady segmentacji. 37 00:01:47,970 --> 00:01:52,210 Tak, aby uniknąć tego potencjału w ogóle, Jestem pierwszy zamierza zawinąć to wykorzystanie 38 00:01:52,210 --> 00:01:56,350 Ciąg porównać przez ten cały wcięć blok kodu, a tylko robi pierwszy 39 00:01:56,350 --> 00:02:03,140 że jeśli y nie jest równe NULL i t nie jest równa null. 40 00:02:03,140 --> 00:02:08,280 >> Owijania, że ​​jeśli jeszcze skonstruować, że ja wpisane wcześniej w nawiasy, jak 41 00:02:08,280 --> 00:02:12,270 dobrze, więc tym razem tylko dotknąć s i t, czy jestem pewna, że 42 00:02:12,270 --> 00:02:13,450 nie są one puste. 43 00:02:13,450 --> 00:02:17,220 Załóżmy teraz zapisać, skompilować i ponownie uruchomić ten program. 44 00:02:17,220 --> 00:02:22,240 >> Dokonaj porównania 1 dot slash porównaj 1. 45 00:02:22,240 --> 00:02:23,950 Powiem witam ponownie. 46 00:02:23,950 --> 00:02:25,890 Obserwowani przez witam jeszcze raz. 47 00:02:25,890 --> 00:02:28,110 I tym razem, rzeczywiście wpisz to samo. 48 00:02:28,110 --> 00:02:30,255