1 00:00:00,000 --> 00:00:03,250 >> SPEAKER 1: Vediamo ora scriviamo un programma si confronta realmente due stringhe 2 00:00:03,250 --> 00:00:04,245 carattere per carattere. 3 00:00:04,245 --> 00:00:06,830 Usiamo confrontare 0 come nostro punto di partenza. 4 00:00:06,830 --> 00:00:11,550 Ma andiamo prima buccia lo strato che è il tipo di stringa e riscriverlo 5 00:00:11,550 --> 00:00:14,120 per quello che veramente è, che è una stella char. 6 00:00:14,120 --> 00:00:17,740 Questo è l'indirizzo di un personaggio, in particolare il primo carattere di una 7 00:00:17,740 --> 00:00:21,010 sequenza di caratteri che saremmo più generalmente conosciuto come una stringa. 8 00:00:21,010 --> 00:00:21,880 >> Lo stesso vale per t. 9 00:00:21,880 --> 00:00:25,660 Riscriviamo tale dichiarazione stringa come char stella. 10 00:00:25,660 --> 00:00:28,690 E ora abbiamo bisogno di più confronta s contro t, per timore 11 00:00:28,690 --> 00:00:30,150 mettiamo a confronto due indirizzi. 12 00:00:30,150 --> 00:00:33,180 Vogliamo confrontare veramente l' due stesse stringhe. 13 00:00:33,180 --> 00:00:37,520 Per fare questo, possiamo usare una funzione dichiarata in string.h. 14 00:00:37,520 --> 00:00:40,920 Quindi io aggiungo che includono sulla parte superiore del mio file. 15 00:00:40,920 --> 00:00:43,130 >> E poi ho intenzione di cambiare questa linea qui. 16 00:00:43,130 --> 00:00:47,920 Invece di confrontare s contro t, sono andando a chiamare una funzione scalpore comp, 17 00:00:47,920 --> 00:00:52,290 per la stringa di confrontare, e passare come argomenti s e t. 18 00:00:52,290 --> 00:00:56,480 Ti Rimandiamo quindi a stringa confrontare capire se s e t sono davvero uguali 19 00:00:56,480 --> 00:00:59,870 e farlo capire come confrontare loro carattere per carattere. 20 00:00:59,870 --> 00:01:02,410 >> Ora, secondo la documentazione per la stringa di confronto, in realtà è 21 00:01:02,410 --> 00:01:06,920 andando a restituire 0 se le due stringhe puntato da s e t sono uguali. 22 00:01:06,920 --> 00:01:09,490 E 'intenzione di restituire un numero negativo se s dovrebbe venire prima di t 23 00:01:09,490 --> 00:01:13,740 ordine alfabetico o un numero positivo se s dovrebbe venire dopo t alfabetico. 24 00:01:13,740 --> 00:01:16,090 >> Ma per ora, abbiamo solo preoccupiamo di uguaglianza. 25 00:01:16,090 --> 00:01:19,270 Quindi ho intenzione di provare semplicemente se l' valore di ritorno di corda confronto, 26 00:01:19,270 --> 00:01:21,450 passando s e t, uguale a 0. 27 00:01:21,450 --> 00:01:24,940 E se sì, ho intenzione di affermare che le due stringhe sono uguali. 28 00:01:24,940 --> 00:01:26,820 >> Ma ho intenzione di fare uno altro cambiamento pure. 29 00:01:26,820 --> 00:01:30,410 Si scopre che la stringa di ottenere, per il suo documentazione, a volte può tornare 30 00:01:30,410 --> 00:01:34,320 null, un valore di riferimento che, secondo per ottenere la documentazione stringhe, mezzi 31 00:01:34,320 --> 00:01:35,450 è successo qualcosa di brutto. 32 00:01:35,450 --> 00:01:38,830 Per esempio, siamo a corto di memoria o l'utente in qualche modo non ha collaborato. 33 00:01:38,830 --> 00:01:41,080 >> String confronto, nel frattempo, è un po 'fragile. 34 00:01:41,080 --> 00:01:44,730 Se si passa nullo sia per la sua primo o il secondo argomento, cattivo 35 00:01:44,730 --> 00:01:45,650 cose possono accadere. 36 00:01:45,650 --> 00:01:47,970 Cose cattive di solito coinvolgono segmentation fault. 37 00:01:47,970 --> 00:01:52,210 Quindi, per evitare che il potenziale del tutto, Io prima di andare ad avvolgere questo uso di 38 00:01:52,210 --> 00:01:56,350 stringa da confrontare rientro tutto questo blocco di codice e prima solo facendo 39 00:01:56,350 --> 00:02:03,140 che se s non è uguale a zero e t è diverso da null. 40 00:02:03,140 --> 00:02:08,280 >> Wrapping che se altro costrutto che digitato in precedenza con parentesi graffe come 41 00:02:08,280 --> 00:02:12,270 bene, in modo che questa volta mi tocco solo s e t se sono certo che 42 00:02:12,270 --> 00:02:13,450 essi non sono nulli. 43 00:02:13,450 --> 00:02:17,220 Vediamo ora Salvare, compilare e eseguire nuovamente il programma. 44 00:02:17,220 --> 00:02:22,240 >> Fai paragonare 1 dot barra confrontare 1. 45 00:02:22,240 --> 00:02:23,950 Io dico ciao di nuovo. 46 00:02:23,950 --> 00:02:25,890 Seguito da ciao ancora una volta. 47 00:02:25,890 --> 00:02:28,110 E questa volta, ho davvero digitare la stessa cosa. 48 00:02:28,110 --> 00:02:30,255