ENCEINTE: Écrivons un programme qui invite l'utilisateur à deux cordes et signale ensuite si ces chaînes sont identiques ou non identiques. J'ai déjà commencé à nous hors ici par printf appeler deux fois et appelant GetString deux fois, stocker le retour valeurs de s et t, respectivement. Maintenant, mes instincts de comparer ces deux cordes serait d'utiliser le familier opérateur d'égalité - si s est égal égaux t. Ensuite, je vais aller de l'avant et d'impression sur "Vous avez tapé la même chose! Sinon, si ce n'est pas vrai, je suis tout simplement aller taper printf ("Vous avez tapé choses différentes! Assez simple - Je suis tout simplement en comparant s contre t, et si elles sont égales, imprimer autant. Disons compiler et exécuter ce programme. Faire comparer 0. / Comparer 0, dire quelque chose, bonjour, dire quelque chose, bonjour. Malheureusement, le programme pense que je n'ai tapé des choses différentes, même si je clairement typé "bonjour" le même manière les deux fois. Maintenant, pourquoi cela pourrait-il être? Eh bien, il s'avère que tout cela temps, les chaînes ont été un peu plus complexe d'une séquence de caractères sous la hotte. En réalité, une chaîne est un pointeur ou un adresse, en particulier l'adresse du premier caractère par le fait que séquence de caractères. Et quand on compare s contre t avec le signe égal égal, nous sommes fait demander, est cette adresse égal égal à cette adresse? Et cela ne va pas être le cas si l'utilisateur a tapé dans deux différents cordes et nous avons appelé deux fois GetString pour les obtenir, parce que la mémoire que GetString utilise pour stocker le premier chaîne pourrait être ici dans la RAM, mais la mémoire qui GetString utilise pour stocker la deuxième chaîne va d'être ici dans la RAM. Et bien sûr, puis, ces deux morceaux de mémoire ont des adresses différentes pour leurs premiers caractères. Il en est de s égal égal à t? Eh bien, non. Si s et t pointent vers différents segments de mémoire, car ils seraient par réclamer à deux reprises GetString, ils ne sont pas, en effet, va être le même. Il semble donc que ce soit le cas pour que comparer deux chaînes dans la intuitif manière que nous attendons, caractère pour caractère, nous devons une autre technique tout à fait.