1 00:00:00,000 --> 00:00:03,250 >> ΟΜΙΛΗΤΗΣ 1: Ας γράψουμε τώρα ένα πρόγραμμα να συγκρίνει πραγματικά δύο χορδές 2 00:00:03,250 --> 00:00:04,245 χαρακτήρα για τον χαρακτήρα. 3 00:00:04,245 --> 00:00:06,830 Ας χρησιμοποιήσουμε για σύγκριση 0 ως αφετηρία μας. 4 00:00:06,830 --> 00:00:11,550 Αλλά ας το πρώτο του φλούδα πίσω το στρώμα που είναι ο τύπος εγχόρδων και ξαναγράψει 5 00:00:11,550 --> 00:00:14,120 για το τι πραγματικά είναι, το οποίο είναι ένα αστέρι char. 6 00:00:14,120 --> 00:00:17,740 Αυτή είναι η διεύθυνση ενός χαρακτήρα, Συγκεκριμένα ο πρώτος χαρακτήρας σε μια 7 00:00:17,740 --> 00:00:21,010 ακολουθία χαρακτήρων που είχαμε περισσότερα γενικά γνωστή ως ένα string. 8 00:00:21,010 --> 00:00:21,880 >> Ίδιο πράγμα για τ. 9 00:00:21,880 --> 00:00:25,660 Ας ξαναγράψουμε τη δήλωση αυτή κορδόνι ως char αστέρι. 10 00:00:25,660 --> 00:00:28,690 Και τώρα πρέπει να υπάρχει πλέον συγκρίνουν s κατά t, μήπως 11 00:00:28,690 --> 00:00:30,150 συγκρίνουμε δύο διευθύνσεις. 12 00:00:30,150 --> 00:00:33,180 Θέλουμε να συγκρίνουν πραγματικά το δύο ίδιοι χορδές. 13 00:00:33,180 --> 00:00:37,520 Για να γίνει αυτό, μπορούμε να χρησιμοποιήσουμε μια συνάρτηση δηλωθεί στην string.h. 14 00:00:37,520 --> 00:00:40,920 Έτσι, εγώ θα προσθέσω ότι περιλαμβάνουν στην κορυφή του αρχείου μου. 15 00:00:40,920 --> 00:00:43,130 >> Και μετά θα πάω στην αλλαγή αυτή τη γραμμή εδώ. 16 00:00:43,130 --> 00:00:47,920 Αντί να συγκρίνουν s κατά t, είμαι πρόκειται να καλέσετε ένα δείγμα σάλο λειτουργία, 17 00:00:47,920 --> 00:00:52,290 για σύγκρισης συμβολοσειράς, και να περάσει στην ως επιχειρήματα s και t. 18 00:00:52,290 --> 00:00:56,480 Θα αναβάλει συνέχεια σε string σε σύγκριση με καταλάβω αν s και t είναι πράγματι ίσες 19 00:00:56,480 --> 00:00:59,870 και αφήστε το να καταλάβω πώς να συγκρίνετε τους χαρακτήρα για τον χαρακτήρα. 20 00:00:59,870 --> 00:01:02,410 >> Τώρα, σύμφωνα με την τεκμηρίωση για σύγκρισης συμβολοσειράς, είναι στην πραγματικότητα 21 00:01:02,410 --> 00:01:06,920 πρόκειται να επιστρέψει 0 αν οι δύο χορδές υποδεικνύεται από τα s και t είναι τα ίδια. 22 00:01:06,920 --> 00:01:09,490 Είναι πρόκειται να επιστρέψει έναν αρνητικό αριθμό αν s πρέπει να έρθει πριν από τ 23 00:01:09,490 --> 00:01:13,740 αλφαβητικά ή ένας θετικός αριθμός, αν s πρέπει να έρθει μετά από t αλφαβητικά. 24 00:01:13,740 --> 00:01:16,090 >> Αλλά για τώρα, έχουμε μόνο τη φροντίδα για την ισότητα. 25 00:01:16,090 --> 00:01:19,270 Έτσι, Πάω απλά να ελέγξετε εάν η τιμή επιστροφής της σύγκρισης συμβολοσειράς, 26 00:01:19,270 --> 00:01:21,450 περνώντας s και t, ισούται με μηδέν. 27 00:01:21,450 --> 00:01:24,940 Και αν ναι, θα πάω να υποστηρίζουν ότι οι δύο χορδές είναι το ίδιο. 28 00:01:24,940 --> 00:01:26,820 >> Αλλά Πάω να κάνω ένα άλλη αλλαγή, καθώς και. 29 00:01:26,820 --> 00:01:30,410 Αποδεικνύεται ότι το πάρει σειρά, ανά τους τεκμηρίωση, μπορεί μερικές φορές να επιστρέψει 30 00:01:30,410 --> 00:01:34,320 null, μια τιμή δείκτη που, σύμφωνα με να πάρει χορδές τεκμηρίωση, μέσα 31 00:01:34,320 --> 00:01:35,450 κάτι κακό συνέβη. 32 00:01:35,450 --> 00:01:38,830 Για παράδειγμα, τρέξαμε έξω από τη μνήμη ή ο χρήστης με κάποιο τρόπο δεν συνεργάζονται. 33 00:01:38,830 --> 00:01:41,080 >> String συγκρίνουν, εν τω μεταξύ, είναι λίγο εύθραυστη. 34 00:01:41,080 --> 00:01:44,730 Αν περάσει το null είτε της πρώτο ή το δεύτερο επιχείρημα, τα κακά 35 00:01:44,730 --> 00:01:45,650 πράγματα μπορούν να συμβούν. 36 00:01:45,650 --> 00:01:47,970 Άσχημα πράγματα που συνήθως αφορούν ελαττώματα τμηματοποίησης. 37 00:01:47,970 --> 00:01:52,210 Έτσι, για να αποφευχθεί αυτό το δυναμικό συνολικά, Είμαι πρώτος πρόκειται να τυλίξει τη χρήση αυτή της 38 00:01:52,210 --> 00:01:56,350 σύγκρισης συμβολοσειράς από την εσοχή όλο αυτό το μπλοκ του κώδικα και η πρώτη κάνει μόνο 39 00:01:56,350 --> 00:02:03,140 ότι αν s δεν είναι ίση με null και t δεν είναι ίση με null. 40 00:02:03,140 --> 00:02:08,280 >> Αναδίπλωση ότι αν else που θα δακτυλογραφημένες νωρίτερα με αγκύλες, όπως 41 00:02:08,280 --> 00:02:12,270 καλά, έτσι ώστε αυτή τη φορά μόνο αγγίζετε s και t, αν και είμαι σίγουρος ότι 42 00:02:12,270 --> 00:02:13,450 δεν είναι null. 43 00:02:13,450 --> 00:02:17,220 Ας σώσει τώρα, την κατάρτιση, και εκτελέστε ξανά το πρόγραμμα. 44 00:02:17,220 --> 00:02:22,240 >> Κάντε συγκρίνουν 1 dot κάθετος συγκρίνουν 1. 45 00:02:22,240 --> 00:02:23,950 Θα πω ένα γεια και πάλι. 46 00:02:23,950 --> 00:02:25,890 Ακολουθούμενη από γειά σου και πάλι. 47 00:02:25,890 --> 00:02:28,110 Και αυτή τη φορά, μάλιστα πληκτρολογήστε το ίδιο πράγμα. 48 00:02:28,110 --> 00:02:30,255