1 00:00:00,000 --> 00:00:03,250 >> INTERLOCUTEUR 1: Écrivons maintenant un programme ils comparent vraiment deux chaînes 2 00:00:03,250 --> 00:00:04,245 caractère pour caractère. 3 00:00:04,245 --> 00:00:06,830 Profitons de comparer 0 comme notre point de départ. 4 00:00:06,830 --> 00:00:11,550 Mais nous allons d'abord peler la couche est le type de chaîne et réécrire 5 00:00:11,550 --> 00:00:14,120 pour ce qu'elle est vraiment, qui est une étoile char. 6 00:00:14,120 --> 00:00:17,740 C'est l'adresse d'un caractère, spécifiquement le premier caractère dans une 7 00:00:17,740 --> 00:00:21,010 séquence de caractères que nous avions plus généralement savoir en tant que chaîne. 8 00:00:21,010 --> 00:00:21,880 >> Même pour t. 9 00:00:21,880 --> 00:00:25,660 Nous allons réécrire cette déclaration de chaîne en tant que char étoiles. 10 00:00:25,660 --> 00:00:28,690 Et maintenant, nous devons plus comparer s contre t, de peur 11 00:00:28,690 --> 00:00:30,150 nous comparons deux adresses. 12 00:00:30,150 --> 00:00:33,180 Nous voulons vraiment comparer la deux chaînes elles-mêmes. 13 00:00:33,180 --> 00:00:37,520 Pour ce faire, nous pouvons utiliser la fonction déclarée dans string.h. 14 00:00:37,520 --> 00:00:40,920 Donc, je vais ajouter que comprend sur le dessus de mon dossier. 15 00:00:40,920 --> 00:00:43,130 >> Et puis je vais au changement cette ligne ici. 16 00:00:43,130 --> 00:00:47,920 Plutôt que de comparer s contre t, je suis vais appeler un échantillon fonction d'agitation, 17 00:00:47,920 --> 00:00:52,290 pour comparer chaîne, et passer comme arguments s et t. 18 00:00:52,290 --> 00:00:56,480 Nous reportons donc à comparer à chaîne déterminer si s et t sont en effet égal 19 00:00:56,480 --> 00:00:59,870 et laisser comprendre comment comparer les caractère pour caractère. 20 00:00:59,870 --> 00:01:02,410 >> Or, d'après la documentation pour comparer chaîne, c'est en fait 21 00:01:02,410 --> 00:01:06,920 va retourner 0 si les deux chaînes pointé par s et t sont les mêmes. 22 00:01:06,920 --> 00:01:09,490 Il va revenir un nombre négatif si s doivent venir avant t 23 00:01:09,490 --> 00:01:13,740 alphabétique ou un nombre positif si s doivent venir après t alphabétique. 24 00:01:13,740 --> 00:01:16,090 >> Mais pour l'instant, nous nous soucions seulement sur l'égalité. 25 00:01:16,090 --> 00:01:19,270 Donc, je vais tout simplement tester si le valeur de retour de chaîne comparer, 26 00:01:19,270 --> 00:01:21,450 passant en s et t, est égal à 0. 27 00:01:21,450 --> 00:01:24,940 Et si c'est le cas, je vais demander que les deux chaînes sont identiques. 28 00:01:24,940 --> 00:01:26,820 >> Mais je vais faire un autre changement ainsi. 29 00:01:26,820 --> 00:01:30,410 Il s'avère que la chaîne de get, par son documentation, peut parfois revenir 30 00:01:30,410 --> 00:01:34,320 null, une valeur de sentinelle qui, selon pour obtenir de la documentation des chaînes, des moyens 31 00:01:34,320 --> 00:01:35,450 quelque chose de mauvais s'est passé. 32 00:01:35,450 --> 00:01:38,830 Par exemple, nous avons manqué de mémoire ou l'utilisateur de toute façon n'a pas coopéré. 33 00:01:38,830 --> 00:01:41,080 >> Chaîne comparer, quant à lui, est un peu fragile. 34 00:01:41,080 --> 00:01:44,730 Si vous passez null soit pour son premier ou son deuxième argument, mauvais 35 00:01:44,730 --> 00:01:45,650 choses peuvent se produire. 36 00:01:45,650 --> 00:01:47,970 Les mauvaises choses impliquant généralement des erreurs de segmentation. 37 00:01:47,970 --> 00:01:52,210 Donc, pour éviter que le potentiel tout à fait, Je vais d'abord envelopper cette utilisation de 38 00:01:52,210 --> 00:01:56,350 chaîne comparer par indentation cet ensemble bloc de code et la première ne faisant 39 00:01:56,350 --> 00:02:03,140 que si s n'est pas égal à zéro et t n'est pas égal à zéro. 40 00:02:03,140 --> 00:02:08,280 >> Emballage que si quelque construire que je tapé plus tôt avec des accolades comme 41 00:02:08,280 --> 00:02:12,270 bien, de sorte que cette fois, je puis seulement toucher s et t si je suis certain que 42 00:02:12,270 --> 00:02:13,450 ils ne sont pas nulles. 43 00:02:13,450 --> 00:02:17,220 Voyons maintenant Enregistrez, compilez et ré-exécuter ce programme. 44 00:02:17,220 --> 00:02:22,240 >> Faire comparer 1 point slash comparer 1. 45 00:02:22,240 --> 00:02:23,950 Je vais dire bonjour à nouveau. 46 00:02:23,950 --> 00:02:25,890 Suivi par bonjour encore une fois. 47 00:02:25,890 --> 00:02:28,110 Et cette fois, je fait tapez la même chose. 48 00:02:28,110 --> 00:02:30,255