1 00:00:00,000 --> 00:00:03,250 >> SPEAKER 1: Să acum scrie un program se compară cu adevărat două șiruri 2 00:00:03,250 --> 00:00:04,245 caracter pentru caracter. 3 00:00:04,245 --> 00:00:06,830 Să folosim compara 0, punctul nostru de plecare. 4 00:00:06,830 --> 00:00:11,550 Dar să primul lui coaja înapoi stratul care este de tip string și rescrie-l 5 00:00:11,550 --> 00:00:14,120 pentru ceea ce este cu adevărat, care este o stea char. 6 00:00:14,120 --> 00:00:17,740 Aceasta este adresa unui caracter, în special primul caracter într-o 7 00:00:17,740 --> 00:00:21,010 secvență de caractere pe care le-ar mai mult în general, stiu ca un șir de caractere. 8 00:00:21,010 --> 00:00:21,880 >> La fel de t. 9 00:00:21,880 --> 00:00:25,660 Să rescrie această declarație șir ca stele char. 10 00:00:25,660 --> 00:00:28,690 Și acum trebuie să nu mai compara s împotriva t, ca nu cumva 11 00:00:28,690 --> 00:00:30,150 vom compara doua adrese. 12 00:00:30,150 --> 00:00:33,180 Vrem să compara cu adevărat două șiruri înșiși. 13 00:00:33,180 --> 00:00:37,520 Pentru a face acest lucru, putem folosi o funcție a declarat în string.h. 14 00:00:37,520 --> 00:00:40,920 Deci, voi adăuga că includ pe partea de sus a dosarul meu. 15 00:00:40,920 --> 00:00:43,130 >> Și apoi am de gând să schimbare aceasta linie de aici. 16 00:00:43,130 --> 00:00:47,920 Mai degrabă decât compara s împotriva t, eu sunt va suna un comp funcție de agitație, 17 00:00:47,920 --> 00:00:52,290 pentru șir compara, și trece în ca argumente S și T. 18 00:00:52,290 --> 00:00:56,480 Vom amâna apoi a șir compara cu dau seama dacă e și t sunt într-adevăr egale 19 00:00:56,480 --> 00:00:59,870 și lăsați-l dau seama cum de a compara le caracter pentru caracter. 20 00:00:59,870 --> 00:01:02,410 >> Acum, în conformitate cu documentația pentru string comparație, este de fapt 21 00:01:02,410 --> 00:01:06,920 de gând să se întoarcă 0 dacă cele două șiruri îndreptată către s și t sunt aceleași. 22 00:01:06,920 --> 00:01:09,490 Se va întoarce un număr negativ în cazul în care s ar trebui să vină înainte de t 23 00:01:09,490 --> 00:01:13,740 în ordine alfabetică sau un număr pozitiv, dacă s ar trebui să vină după t în ordine alfabetică. 24 00:01:13,740 --> 00:01:16,090 >> Dar de acum, ne pasă doar despre egalitate. 25 00:01:16,090 --> 00:01:19,270 Așa că am de gând pentru a testa pur și simplu în cazul în care Valoarea de returnare a string compara, 26 00:01:19,270 --> 00:01:21,450 trece în s și t, este egal cu 0. 27 00:01:21,450 --> 00:01:24,940 Și dacă da, am de gând să pretind că cele două șiruri sunt identice. 28 00:01:24,940 --> 00:01:26,820 >> Dar am de gând să facă o altă schimbare, de asemenea. 29 00:01:26,820 --> 00:01:30,410 Se pare că șir get, pe de documentație, se pot întoarce, uneori, 30 00:01:30,410 --> 00:01:34,320 null, o valoare santinelă care, potrivit pentru a obține documentația siruri de caractere, mijloace 31 00:01:34,320 --> 00:01:35,450 sa întâmplat ceva rău. 32 00:01:35,450 --> 00:01:38,830 De exemplu, am fugit din memorie sau utilizatorul într-un fel nu a cooperat. 33 00:01:38,830 --> 00:01:41,080 >> String comparație, între timp, este un pic fragil. 34 00:01:41,080 --> 00:01:44,730 Dacă treci o nul pentru ei, fie primul sau al doilea argument, rău 35 00:01:44,730 --> 00:01:45,650 lucruri se pot întâmpla. 36 00:01:45,650 --> 00:01:47,970 Lucruri rele, de obicei, implică defecte de segmentare. 37 00:01:47,970 --> 00:01:52,210 Deci, pentru a evita ca potențial cu totul, Mă duc în primul rând să-și încheie această utilizare a 38 00:01:52,210 --> 00:01:56,350 compara șir de crestarea acest întreg bloc de cod și în primul rând a face doar 39 00:01:56,350 --> 00:02:03,140 ca daca nu este egal cu zero și t nu este egal cu zero. 40 00:02:03,140 --> 00:02:08,280 >> Ambalaj că, dacă mai construi pe care am tastat mai devreme cu acolade ca 41 00:02:08,280 --> 00:02:12,270 bine, astfel că de această dată am atins doar s și t, dacă eu sunt sigur că 42 00:02:12,270 --> 00:02:13,450 ele nu sunt nule. 43 00:02:13,450 --> 00:02:17,220 Să acum salva, compila, și re-rula acest program. 44 00:02:17,220 --> 00:02:22,240 >> Face comparație 1 punct slash compara 1. 45 00:02:22,240 --> 00:02:23,950 Voi spune salut din nou. 46 00:02:23,950 --> 00:02:25,890 Urmat de salut din nou. 47 00:02:25,890 --> 00:02:28,110 Și de data asta, eu într-adevăr tastați același lucru. 48 00:02:28,110 --> 00:02:30,255