>> Tagapagsalita: magsulat ng isang programa Hayaan na prompt ng gumagamit para sa dalawang mga string at
pagkatapos ay i-ulat kung ang mga string ay pareho o hindi pareho.
Nasimulan ko na sa amin off dito sa pamamagitan ng printf sa pagtawag nang dalawang beses at pagtawag
GetString dalawang beses, pag-iimbak ng mga return mga halaga sa s at t, ayon sa pagkakabanggit.
>> Ngayon, ang aking instincts upang ihambing ang dalawang mga string ay magiging upang gamitin ang pamilyar
pagkakapantay-pantay ng operator -
kung katumbas s ay katumbas ng t.
Pagkatapos pupuntahan ko sige at i-print out "na na-type mo ang parehong bagay!
Iba Pa, kung hindi iyon totoo, lang ako pagpunta sa i-type printf ("Ikaw nai-type
iba't ibang bagay!
>> Medyo prangka -
Lamang ako ng paghahambing ng mga laban t, at kung ang mga ito ay pantay-pantay,
nagpi-print out ng maraming.
Ni-compile at patakbuhin ang program na ito Hayaan.
Gawing ihambing 0. / Paghambingin 0, sabihin nating ang isang bagay, kumusta,
sabihin isang bagay, kumusta.
>> Sa kasamaang palad, Iniisip ng mga programa na hindi ko na nai-type iba't ibang mga bagay, kahit na ako
malinaw na nai-type "kumusta" ang parehong paraan sa parehong oras.
Ngayon, kung bakit maaaring maging iyon?
>> Well, ito ay lumiliko out na ang lahat ng ito oras, mga string ay isang bit higit pa
kumplikadong kaysa sa isang pagkakasunod-sunod ng mga character sa ilalim ng hood.
Sa katotohanan, isang string ay isang pointer o isang address, partikular na ang address
sa mga unang character sa na pagkakasunud-sunod ng mga character.
>> At kaya kapag ihambing namin s laban t may pantay na pantay lagdaan, kami ay
talaga nagtatanong, ay ang address na ito pantay pantay sa address na ito?
At na hindi pagpunta sa maging ang kaso kung ang gumagamit ay nag-type sa dalawang magkaibang
mga string at ang tinatawag naming GetString dalawang beses upang makakuha ng mga ito, dahil ang memorya
Ginagamit na GetString upang i-imbak ang unang string ay maaaring maging dito sa RAM, ngunit ang
memorya na ginagamit ng GetString upang mag-imbak ang ikalawang string ay pagpunta
maging dito sa RAM.
At syempre, pagkatapos, ang dalawang chunks ng memorya ay may iba't ibang address para sa
kanilang pinakaunang character.
>> Kaya ay mga katumbas na katumbas ng T?
Well, hindi.
Kung s at t ay tumuturo sa iba't ibang chunks ng memorya, tulad ng kung paano maging sa pamamagitan ng
GetString pagtawag sa dalawang beses, ang mga ito ay hindi, sa katunayan, pagpunta sa maging ang parehong.
Kaya tila na maging ang kaso na iyon upang paghambingin ang dalawang mga string sa madaling maunawaan
paraan na inaasahan namin, character para sa na character, kailangan namin ng isa pang diskarteng
sama-sama.