1 00:00:00,000 --> 00:00:03,250 >> Sprecher 1: Lassen Sie uns nun ein Programm schreiben sie wirklich vergleicht zwei Strings 2 00:00:03,250 --> 00:00:04,245 Zeichen für Zeichen. 3 00:00:04,245 --> 00:00:06,830 Lassen verwenden zu vergleichen 0 als Ausgangspunkt. 4 00:00:06,830 --> 00:00:11,550 Aber lassen Sie uns zuerst abziehen, dass die Schicht ist der String-Typ und neu schreiben 5 00:00:11,550 --> 00:00:14,120 für das, was es wirklich ist, was ist ein char-Star. 6 00:00:14,120 --> 00:00:17,740 Dass die Adresse eines Zeichens, Insbesondere das erste Zeichen in einen 7 00:00:17,740 --> 00:00:21,010 Folge von Zeichen, wir sollten mehr allgemein als Zeichenfolge kennen. 8 00:00:21,010 --> 00:00:21,880 >> Das Gleiche gilt für t. 9 00:00:21,880 --> 00:00:25,660 Lassen Sie uns schreiben, dass String Erklärung als char Stern. 10 00:00:25,660 --> 00:00:28,690 Und jetzt müssen wir nicht mehr Vergleichen s gegen t, damit 11 00:00:28,690 --> 00:00:30,150 Vergleichen wir zwei Adressen. 12 00:00:30,150 --> 00:00:33,180 Wir wollen wirklich vergleichen, die zwei Strings sich. 13 00:00:33,180 --> 00:00:37,520 Um dies zu tun, können wir eine Funktion verwenden in string.h erklärt. 14 00:00:37,520 --> 00:00:40,920 Also werde ich hinzufügen, dass sind auf meiner Datei. 15 00:00:40,920 --> 00:00:43,130 >> Und dann werde ich den Wandel gehen diese Linie hier. 16 00:00:43,130 --> 00:00:47,920 Anstatt vergleichen s gegen t, ich bin gehen, um eine Funktion für Aufsehen Layout nennen, 17 00:00:47,920 --> 00:00:52,290 für Streich vergleichen, und übergeben als Argumente s und t. 18 00:00:52,290 --> 00:00:56,480 Wir werden dann verschieben, um String zu vergleichen, um herauszufinden, ob s und t sind in der Tat gleich 19 00:00:56,480 --> 00:00:59,870 und lassen Sie es herauszufinden, wie man vergleichen sie Zeichen für Zeichen. 20 00:00:59,870 --> 00:01:02,410 >> Jetzt, nach der Dokumentation für Streich vergleichen, es ist eigentlich 21 00:01:02,410 --> 00:01:06,920 geht auf 0 zurück, wenn die beiden Strings auf die durch S-und T gleich sind. 22 00:01:06,920 --> 00:01:09,490 Es wird eine negative Zahl zurück wenn s sollte vor t kommen 23 00:01:09,490 --> 00:01:13,740 alphabetisch oder eine positive Zahl, wenn s sollte nach t alphabetisch kommen. 24 00:01:13,740 --> 00:01:16,090 >> Aber jetzt haben wir nur Pflege über Gleichheit. 25 00:01:16,090 --> 00:01:19,270 Also werde ich einfach testen, ob die Rückgabewert String zu vergleichen, 26 00:01:19,270 --> 00:01:21,450 vorbei in s und t, gleich 0 ist. 27 00:01:21,450 --> 00:01:24,940 Und wenn ja, werde ich zu behaupten, dass die beiden Strings gleich sind. 28 00:01:24,940 --> 00:01:26,820 >> Aber ich werde eine zu machen andere Änderung als gut. 29 00:01:26,820 --> 00:01:30,410 Es stellt sich heraus, dass die get-String, pro seiner Dokumentation, kann manchmal zurück 30 00:01:30,410 --> 00:01:34,320 null, ein Wert, der Wächter, nach in Strings Dokumentation, Mittel erhalten 31 00:01:34,320 --> 00:01:35,450 etwas Schlimmes passiert ist. 32 00:01:35,450 --> 00:01:38,830 Zum Beispiel aus der Erinnerung liefen wir oder der Benutzer irgendwie nicht zusammen. 33 00:01:38,830 --> 00:01:41,080 >> String vergleichen, inzwischen ist etwas zerbrechlich. 34 00:01:41,080 --> 00:01:44,730 Wenn Sie es null für entweder seine geben ersten oder dem zweiten Argument, schlechte 35 00:01:44,730 --> 00:01:45,650 Dinge können passieren. 36 00:01:45,650 --> 00:01:47,970 Schlechte Dinge in der Regel mit Segmentation Faults. 37 00:01:47,970 --> 00:01:52,210 Also, um dieses Potenzial ganz zu vermeiden, Ich werde diesen ersten Einsatz von wickeln 38 00:01:52,210 --> 00:01:56,350 String durch Eindrücken dieses ganze vergleichen Codeblock und zunächst nur tun 39 00:01:56,350 --> 00:02:03,140 dass, wenn n nicht gleich null und t ist gleich Null. 40 00:02:03,140 --> 00:02:08,280 >> Wrapping, dass, wenn sonst zu konstruieren, dass ich früher mit geschweiften Klammern wie eingegeben 41 00:02:08,280 --> 00:02:12,270 gut, so dass ich dieses Mal nur berühren s und t, wenn ich bin sicher, dass 42 00:02:12,270 --> 00:02:13,450 sie sind nicht null. 43 00:02:13,450 --> 00:02:17,220 Lassen Sie uns jetzt noch retten, kompilieren und erneut ausführen, dieses Programm. 44 00:02:17,220 --> 00:02:22,240 >> Machen vergleichen 1 Punkt 1 Strich vergleichen. 45 00:02:22,240 --> 00:02:23,950 Ich werde wieder hallo sagen. 46 00:02:23,950 --> 00:02:25,890 Von hallo noch einmal gefolgt. 47 00:02:25,890 --> 00:02:28,110 Und dieses Mal habe ich in der Tat Geben Sie die gleiche Sache. 48 00:02:28,110 --> 00:02:30,255