1 00:00:00,000 --> 00:00:00,520 2 00:00:00,520 --> 00:00:03,530 >> Tagapagsalita: magsulat ng isang programa Hayaan na prompt ng gumagamit para sa dalawang mga string at 3 00:00:03,530 --> 00:00:07,170 pagkatapos ay i-ulat kung ang mga string ay pareho o hindi pareho. 4 00:00:07,170 --> 00:00:10,290 Nasimulan ko na sa amin off dito sa pamamagitan ng printf sa pagtawag nang dalawang beses at pagtawag 5 00:00:10,290 --> 00:00:14,520 GetString dalawang beses, pag-iimbak ng mga return mga halaga sa s at t, ayon sa pagkakabanggit. 6 00:00:14,520 --> 00:00:17,960 >> Ngayon, ang aking instincts upang ihambing ang dalawang mga string ay magiging upang gamitin ang pamilyar 7 00:00:17,960 --> 00:00:19,160 pagkakapantay-pantay ng operator - 8 00:00:19,160 --> 00:00:22,070 kung katumbas s ay katumbas ng t. 9 00:00:22,070 --> 00:00:28,120 Pagkatapos pupuntahan ko sige at i-print out "na na-type mo ang parehong bagay! 10 00:00:28,120 --> 00:00:35,190 Iba Pa, kung hindi iyon totoo, lang ako pagpunta sa i-type printf ("Ikaw nai-type 11 00:00:35,190 --> 00:00:37,880 iba't ibang bagay! 12 00:00:37,880 --> 00:00:38,850 >> Medyo prangka - 13 00:00:38,850 --> 00:00:41,820 Lamang ako ng paghahambing ng mga laban t, at kung ang mga ito ay pantay-pantay, 14 00:00:41,820 --> 00:00:43,250 nagpi-print out ng maraming. 15 00:00:43,250 --> 00:00:45,450 Ni-compile at patakbuhin ang program na ito Hayaan. 16 00:00:45,450 --> 00:00:51,950 Gawing ihambing 0. / Paghambingin 0, sabihin nating ang isang bagay, kumusta, 17 00:00:51,950 --> 00:00:54,200 sabihin isang bagay, kumusta. 18 00:00:54,200 --> 00:00:56,870 >> Sa kasamaang palad, Iniisip ng mga programa na hindi ko na nai-type iba't ibang mga bagay, kahit na ako 19 00:00:56,870 --> 00:00:59,530 malinaw na nai-type "kumusta" ang parehong paraan sa parehong oras. 20 00:00:59,530 --> 00:01:00,850 Ngayon, kung bakit maaaring maging iyon? 21 00:01:00,850 --> 00:01:03,750 >> Well, ito ay lumiliko out na ang lahat ng ito oras, mga string ay isang bit higit pa 22 00:01:03,750 --> 00:01:06,780 kumplikadong kaysa sa isang pagkakasunod-sunod ng mga character sa ilalim ng hood. 23 00:01:06,780 --> 00:01:11,450 Sa katotohanan, isang string ay isang pointer o isang address, partikular na ang address 24 00:01:11,450 --> 00:01:14,640 sa mga unang character sa na pagkakasunud-sunod ng mga character. 25 00:01:14,640 --> 00:01:18,640 >> At kaya kapag ihambing namin s laban t may pantay na pantay lagdaan, kami ay 26 00:01:18,640 --> 00:01:23,200 talaga nagtatanong, ay ang address na ito pantay pantay sa address na ito? 27 00:01:23,200 --> 00:01:26,850 At na hindi pagpunta sa maging ang kaso kung ang gumagamit ay nag-type sa dalawang magkaibang 28 00:01:26,850 --> 00:01:30,370 mga string at ang tinatawag naming GetString dalawang beses upang makakuha ng mga ito, dahil ang memorya 29 00:01:30,370 --> 00:01:34,480 Ginagamit na GetString upang i-imbak ang unang string ay maaaring maging dito sa RAM, ngunit ang 30 00:01:34,480 --> 00:01:37,120 memorya na ginagamit ng GetString upang mag-imbak ang ikalawang string ay pagpunta 31 00:01:37,120 --> 00:01:38,760 maging dito sa RAM. 32 00:01:38,760 --> 00:01:42,380 At syempre, pagkatapos, ang dalawang chunks ng memorya ay may iba't ibang address para sa 33 00:01:42,380 --> 00:01:44,220 kanilang pinakaunang character. 34 00:01:44,220 --> 00:01:46,120 >> Kaya ay mga katumbas na katumbas ng T? 35 00:01:46,120 --> 00:01:46,885 Well, hindi. 36 00:01:46,885 --> 00:01:50,510 Kung s at t ay tumuturo sa iba't ibang chunks ng memorya, tulad ng kung paano maging sa pamamagitan ng 37 00:01:50,510 --> 00:01:54,140 GetString pagtawag sa dalawang beses, ang mga ito ay hindi, sa katunayan, pagpunta sa maging ang parehong. 38 00:01:54,140 --> 00:01:57,700 Kaya tila na maging ang kaso na iyon upang paghambingin ang dalawang mga string sa madaling maunawaan 39 00:01:57,700 --> 00:02:01,050 paraan na inaasahan namin, character para sa na character, kailangan namin ng isa pang diskarteng 40 00:02:01,050 --> 00:02:02,300 sama-sama. 41 00:02:02,300 --> 00:02:03,902