>> SPEAKER 1: Lad os nu skrive et program de virkelig sammenligner to strenge
tegn for tegn.
Lad os bruge sammenligne 0. vores udgangspunkt.
Men lad os først skræl tilbage det lag, der er den streng type og omskrive det
for, hvad det virkelig er, som er en char stjerne.
Det er adressen på en karakter, specifikt første tegn i en
sekvens af tegn, som vi havde mere generelt kender som en streng.
>> Samme for t.
Lad os omskrive denne streng erklæring som char stjerne.
Og nu er vi nødt til ikke længere sammenligne s mod t, lest
vi sammenligner to adresser.
Vi vil virkelig sammenligne to strenge selv.
For at gøre dette, kan vi bruge en funktion erklæret i string.h.
Så jeg vil tilføje, at omfatte på toppen af ​​min fil.
>> Og så har jeg tænkt mig at ændre denne linje her.
Snarere end at sammenligne s mod t, er jeg kommer til at kalde en funktion opsigt comp,
for streng sammenligne, og videregive i som argumenter s og t.
Vi vil udskyde derefter til snor sammenligne med regne ud, hvis s og t er faktisk lige
og lad det regne ud, hvordan at sammenligne dem tegn for tegn.
>> Nu, i henhold til dokumentation for streng sammenligne, det er faktisk
vil returnere 0, hvis de to strenge pegede på af s og t er de samme.
Det kommer til at returnere et negativt tal hvis s bør komme før t
alfabetisk eller et positivt tal, hvis s bør komme efter t alfabetisk.
>> Men for nu, vi kun bekymrer om ligestilling.
Så jeg har tænkt mig at blot at teste om returværdien af ​​strengen sammenligne,
passerer s og t, er lig 0.
Og hvis ja, vil jeg hævde, at De to strenge er de samme.
>> Men jeg har tænkt mig at gøre en andre ændringer så godt.
Det viser sig, get streng, i dens dokumentation kan undertiden tilbage
null, en sentinel værdi, der ifølge at få strengene dokumentation midler
noget slemt skete.
For eksempel, vi løb tør for hukommelse eller brugeren eller anden måde ikke samarbejdede.
>> String sammenligne, i mellemtiden, er lidt skrøbelig.
Hvis du passerer det null for enten dens første eller det andet argument, dårlig
ting kan ske.
Dårlige ting normalt involverer segmentering fejl.
Så for at undgå dette potentiale helt, Jeg først kommer til at ombryde denne brug af
snor sammenligne ved at indrykke denne hele blok af kode, og først kun gør
at hvis s er ikke lig med nul og t er ikke lig med nul.
>> Indpakning, at hvis ellers konstruere, at jeg skrevet tidligere med krøllede parenteser som
godt, så denne gang jeg kun berøre s og t, hvis jeg er sikker på, at
de er ikke nul.
Lad os nu gemme, kompilere, og returnerer til dette program.
>> Gør sammenligne 1 dot skråstreg Sammenlign 1.
Jeg vil sige hej igen.
Efterfulgt af hej endnu en gang.
Og denne gang, jeg virkelig skrive det samme.