SPEAKER: Írjunk egy programot, amely megkérdezi a felhasználót a két szöveget és majd közli, hogy azok a húrok jelentése azonos vagy nem azonos. Már kezdtem minket itt hívás printf kétszer hívás GetString kétszer, tárolása a visszatérés értékeket s és t, ill. Nos, az én ösztönök összehasonlítani a két húrok lenne, hogy használja az ismerős egyenlőség operátor - ha s értéke egyenlő t. Aztán megyek előre, és a nyomtatási out "Te gépelt ugyanaz! Különben, ha ez nem igaz, én csak majd írja printf ("Te gépelt különböző dolog! Meglehetősen egyszerű - Én egyszerűen csak összehasonlításával s ellen t, és ha ők egyenlő, nyomtat ki, mint sok. Nézzük lefordítani és futtatni ezt a programot. Legyen összehasonlításba 0. / Összehasonlítása 0, mond valamit, hello, mondani valamit, helló. Sajnos, a program azt hiszi, gépelt különböző dolog, bár én egyértelműen gépelt "hello" a Ugyanígy mindkét alkalommal. Nos, miért lenne az? Nos, kiderült, hogy ez az egész idő, vonósok volna egy kicsit összetettebb, mint egy karaktersor a motorháztető alatt. A valóságban, egy sor egy mutató, vagy cím, konkrétan a cím Az első karakter az adott karaktersor. És ha összehasonlítjuk s ellen t az azonos egyenlőségjel vagyunk valójában azt kérdezi, ez a cím azonos azonos erre a címre? És ez nem lesz a helyzet, ha a felhasználó által beírt két különböző vonósok és mi már az úgynevezett getString kétszer kell kérni őket, mert a memória hogy getString használ tárolja az első karakterlánc lehet itt a RAM-ban, de a memória getString tárolására használt A második szöveg megy hogy itt a RAM-ban. És persze, akkor, a két darabokat memória különböző címek az első karakter. Tehát s egyenlő egyenlő t? Nos, nem. Ha az s és t mutat a különböző darabokat a memória, mivel ezek lennének által hívás getString kétszer, ők nem, sőt, lesz ugyanaz. Tehát úgy tűnik, hogy a helyzet, hogy a összehasonlítani két karakterlánc az intuitív módon, hogy azt várjuk, karakter karakter, szükségünk van egy másik technika összesen.