1 00:00:00,000 --> 00:00:03,250 >> COLUNA 1: Vamos agora escrever um programa eles realmente se compara duas strings 2 00:00:03,250 --> 00:00:04,245 personagem para personagem. 3 00:00:04,245 --> 00:00:06,830 Vamos usar como comparar 0 nosso ponto de partida. 4 00:00:06,830 --> 00:00:11,550 Mas primeiro vamos descascar a camada que é o tipo string e reescrevê-lo 5 00:00:11,550 --> 00:00:14,120 para o que ele realmente é, o que é uma estrela de char. 6 00:00:14,120 --> 00:00:17,740 Esse é o endereço de um personagem, especificamente, o primeiro caractere em uma 7 00:00:17,740 --> 00:00:21,010 sequência de caracteres que tínhamos mais geralmente sabem como uma string. 8 00:00:21,010 --> 00:00:21,880 >> Mesmo para t. 9 00:00:21,880 --> 00:00:25,660 Vamos reescrever essa declaração cadeia como char estrela. 10 00:00:25,660 --> 00:00:28,690 E agora nós precisamos não mais comparar s contra t, para que não 11 00:00:28,690 --> 00:00:30,150 compararmos dois endereços. 12 00:00:30,150 --> 00:00:33,180 Nós queremos realmente comparar o duas próprias cordas. 13 00:00:33,180 --> 00:00:37,520 Para fazer isso, podemos usar uma função declarou em string.h. 14 00:00:37,520 --> 00:00:40,920 Então, eu vou acrescentar que incluem em cima do meu arquivo. 15 00:00:40,920 --> 00:00:43,130 >> E então eu vou mudar esta linha aqui. 16 00:00:43,130 --> 00:00:47,920 Em vez de comparar s contra t, eu sou vai chamar uma miniatura função agitar, 17 00:00:47,920 --> 00:00:52,290 para String de comparação, e passar como argumentos s e t. 18 00:00:52,290 --> 00:00:56,480 Vamos adiar para depois comparar com corda descobrir se s e t são realmente iguais 19 00:00:56,480 --> 00:00:59,870 e deixá-lo descobrir como comparar eles personagem para personagem. 20 00:00:59,870 --> 00:01:02,410 >> Agora, de acordo com a documentação para String de comparação, é realmente 21 00:01:02,410 --> 00:01:06,920 vai retornar 0 se as duas strings apontada por s e t são o mesmo. 22 00:01:06,920 --> 00:01:09,490 Vai retornar um número negativo se s deve vir antes de t 23 00:01:09,490 --> 00:01:13,740 alfabeticamente ou um número positivo se s deve vir depois de t em ordem alfabética. 24 00:01:13,740 --> 00:01:16,090 >> Mas, por enquanto, só se importa sobre a igualdade. 25 00:01:16,090 --> 00:01:19,270 Então, eu vou simplesmente testar se o valor de retorno de String de comparação, 26 00:01:19,270 --> 00:01:21,450 passando em s e t, é igual a 0. 27 00:01:21,450 --> 00:01:24,940 E se assim for, eu vou afirmar que as duas seqüências são iguais. 28 00:01:24,940 --> 00:01:26,820 >> Mas eu vou fazer um outra mudança bem. 29 00:01:26,820 --> 00:01:30,410 Acontece que corda get, por sua documentação, às vezes pode retornar 30 00:01:30,410 --> 00:01:34,320 nulo, um valor de sentinela que, de acordo para obter documentação cordas, meio 31 00:01:34,320 --> 00:01:35,450 algo de ruim aconteceu. 32 00:01:35,450 --> 00:01:38,830 Por exemplo, ficamos sem memória ou o usuário de alguma forma não cooperar. 33 00:01:38,830 --> 00:01:41,080 >> String de comparação, entretanto, é um pouco frágil. 34 00:01:41,080 --> 00:01:44,730 Se você passar null para tanto a sua primeiro ou o seu segundo argumento, mau 35 00:01:44,730 --> 00:01:45,650 coisas podem acontecer. 36 00:01:45,650 --> 00:01:47,970 Coisas ruins geralmente envolvendo falhas de segmentação. 37 00:01:47,970 --> 00:01:52,210 Então, para evitar esse potencial por completo, Vou primeiro para quebrar esse uso de 38 00:01:52,210 --> 00:01:56,350 String de comparação pelo recuo toda esta bloco de código e primeiro só fazendo 39 00:01:56,350 --> 00:02:03,140 que, se s não é igual a zero e t não é igual a nulo. 40 00:02:03,140 --> 00:02:08,280 >> Envolvendo que se construir mais que eu digitado anteriormente com chaves como 41 00:02:08,280 --> 00:02:12,270 bem, para que desta vez eu apenas tocar s e t se eu estou certo de que 42 00:02:12,270 --> 00:02:13,450 eles não são nulos. 43 00:02:13,450 --> 00:02:17,220 Vamos agora salvar, compilar e re-executar este programa. 44 00:02:17,220 --> 00:02:22,240 >> Faça comparar 1 ponto barra comparar 1. 45 00:02:22,240 --> 00:02:23,950 Eu vou dizer Olá novamente. 46 00:02:23,950 --> 00:02:25,890 Seguido por Olá mais uma vez. 47 00:02:25,890 --> 00:02:28,110 E desta vez, eu realmente digitar a mesma coisa. 48 00:02:28,110 --> 00:02:30,255