SPEAKER: Să scrie un program care solicită utilizatorului pentru două șiruri și apoi raportează dacă aceste siruri de caractere sunt la fel sau nu identice. Am ne-am început deja de pe aici de apel printf de două ori și de asteptare GetString de două ori, stocarea revenirea valori în s și t, respectiv. Acum, instinctele mele pentru a compara aceste două siruri de caractere ar fi utilizarea familiar operator de egalitate - dacă s egal este egal cu t. Apoi, am de gând să merg mai departe și de imprimare out "Ai tastat același lucru! Altfel, dacă nu e adevărat, eu sunt pur și simplu O să tip printf ("Ai tastat lucruri diferite! Destul de simplu - Eu pur și simplu e comparat împotriva t, iar în cazul în care acestea sunt egale, imprimarea la fel de mult. Să compila și rula acest program. Face comparație 0. / Compara 0, spune ceva, salut, spune ceva, salut. Din păcate, programul crede că am tastat lucruri diferite, chiar dacă am tastat în mod clar "hello" același mod în ambele cazuri. Acum, de ce ar fi asta? Ei bine, se pare că toate acestea timp, siruri de caractere au fost un pic mai mult complexă decât o secvență de caractere sub capota. În realitate, un șir este un pointer sau o adresa, în mod specific adresa a primului caracter în care secvență de caractere. Așa că atunci când ne-am compara s împotriva t cu semnul egal egal, suntem de fapt cere, este această adresă irilor la această adresă? Și că nu va fi cazul dacă utilizatorul a tastat în două diferite siruri de caractere și le-am numit getString de două ori pentru a le obține, pentru că memoria care getString utilizează pentru a stoca primul șir ar putea fi aici în RAM, dar memorie care getString utilizează pentru a stoca al doilea șir se întâmplă să fiu aici în RAM. Și, bineînțeles, atunci, aceste două bucăți de memorie au adrese diferite pentru foarte primele caractere. Deci, este s egal egal cu t? Ei bine, nu. În cazul în care s și t sunt orientate la diferite bucăți de memorie, cum ar fi de apel getString de două ori, ei nu sunt, în fapt, va fi la fel. Deci, se pare să fie cazul în care a compara doua siruri de caractere în intuitiv astfel încât ne așteptăm, de caractere pentru caracter, avem nevoie de o alta tehnica totul.