1 00:00:00,000 --> 00:00:00,520 2 00:00:00,520 --> 00:00:03,530 >> Spreker: Kom ons skryf 'n program wat vra die gebruiker om twee toue en 3 00:00:03,530 --> 00:00:07,170 dan verslae of daardie snare dieselfde is of nie dieselfde nie. 4 00:00:07,170 --> 00:00:10,290 Ek het reeds begin om ons hier af deur roep printf twee keer en roep 5 00:00:10,290 --> 00:00:14,520 GetString twee keer, die stoor van die opbrengs waardes in s en t, onderskeidelik. 6 00:00:14,520 --> 00:00:17,960 >> Nou, my instink hierdie twee te vergelyk snare sou wees om die bekende te gebruik 7 00:00:17,960 --> 00:00:19,160 gelykheid operateur - 8 00:00:19,160 --> 00:00:22,070 As s gelyk gelyk t. 9 00:00:22,070 --> 00:00:28,120 Toe ek gaan om voort te gaan en uit te druk out "Jy getik dieselfde ding! 10 00:00:28,120 --> 00:00:35,190 Anders, as dit is nie waar nie, ek is net gaan printf te tik ("Jy getik 11 00:00:35,190 --> 00:00:37,880 verskillende dinge! 12 00:00:37,880 --> 00:00:38,850 >> Redelik eenvoudig - 13 00:00:38,850 --> 00:00:41,820 Ek is eenvoudig te vergelyk s teen t, en as hulle gelyk is, 14 00:00:41,820 --> 00:00:43,250 uit te druk so veel. 15 00:00:43,250 --> 00:00:45,450 Kom ons stel en die uitvoering van hierdie program. 16 00:00:45,450 --> 00:00:51,950 Maak vergelyk 0. / Vergelyk 0, iets sê, hallo, 17 00:00:51,950 --> 00:00:54,200 iets sê, hallo. 18 00:00:54,200 --> 00:00:56,870 >> Ongelukkig is die program dink ek het getik verskillende dinge, selfs al het ek 19 00:00:56,870 --> 00:00:59,530 duidelik getik "hallo" die dieselfde manier twee keer. 20 00:00:59,530 --> 00:01:00,850 Nou, hoekom sou dit wees? 21 00:01:00,850 --> 00:01:03,750 >> Wel, dit blyk dat al hierdie tyd, het snare 'n bietjie meer was 22 00:01:03,750 --> 00:01:06,780 kompleks as 'n reeks van karakters onder die kap. 23 00:01:06,780 --> 00:01:11,450 In werklikheid, 'n string is 'n muis of 'n adres, spesifiek die adres 24 00:01:11,450 --> 00:01:14,640 van die eerste karakter in daardie volgorde van die karakters. 25 00:01:14,640 --> 00:01:18,640 >> En so as ons dit vergelyk s teen t met die gelyke gelyk teken, ons is 26 00:01:18,640 --> 00:01:23,200 eintlik vra, is hierdie adres gelyk gelyk aan hierdie adres? 27 00:01:23,200 --> 00:01:26,850 En dit is nie van plan om die saak te wees as die gebruiker het in twee verskillende getik 28 00:01:26,850 --> 00:01:30,370 snare en ons het GetString genoem twee keer om hulle te kry, want die geheue 29 00:01:30,370 --> 00:01:34,480 dat GetString gebruik die eerste te slaan string kan hier in die geheue, maar die 30 00:01:34,480 --> 00:01:37,120 geheue wat GetString gebruik te stoor die tweede string gaan 31 00:01:37,120 --> 00:01:38,760 hier in die geheue wees. 32 00:01:38,760 --> 00:01:42,380 En natuurlik, dan die twee stukke geheue het verskillende adresse vir 33 00:01:42,380 --> 00:01:44,220 hul heel eerste karakters. 34 00:01:44,220 --> 00:01:46,120 >> So is s gelyk gelyk aan t? 35 00:01:46,120 --> 00:01:46,885 Wel, nee. 36 00:01:46,885 --> 00:01:50,510 As s en t wys aan verskillende stukke van die geheue, as hulle sou wees deur 37 00:01:50,510 --> 00:01:54,140 roep GetString twee keer, hulle is nie, in werklikheid, gaan dieselfde wees. 38 00:01:54,140 --> 00:01:57,700 So lyk dit die geval te wees wat aan vergelyk twee snare in die intuïtiewe 39 00:01:57,700 --> 00:02:01,050 manier wat ons verwag, karakter vir karakter, moet ons 'n ander tegniek 40 00:02:01,050 --> 00:02:02,300 geheel en al. 41 00:02:02,300 --> 00:02:03,902