Escreva suas próprias funções de comprimento de strings. Escreva duas versões da função strlen na Figura 8.36. A primeira versão deverá usar subscritos de array, e a segunda, ponteiros e aritmética de ponteiro.

Passo 1

Fala pessoal, tudo certinho? vamos responder mais uma questão, então prepara o material e vamos responder!!

Vamos escrever a função usando os ponteiros e a aritmética de ponteiros primeiro. Vamos nomear esta função strlen1. O código pode ficar assim:

Inicializamos o resultado para ser igual a 0 no início. Então passamos por cima caracteres na string usando o operador de “desreferência” e para cada caractere que revisamos, incrementamos o resultado. Finalmente, depois de chegarmos à string, retornamos o resultado.

Passo 2

Agora, vamos escrever a função usando assinatura de array. Vamos nomear esta função

strlen2. O código pode ficar assim:

Desta vez, usamos loop for em vez de loop while. Isso porque parece um pouco mais intuitivo usar o loop for com arrays. Claro, isso pode ser resolvido das duas maneiras. A função faz a mesma coisa, exceto que precisamos de outra variável para indexar a matriz char e controlar o loop for.

Finalmente, podemos escrever um programa principal de teste simples. Também vamos comparar nossas funções com a função strlen embutida (não se esqueça de incluir o arquivo string.h). A função principal pode ficar assim:

Passo 3

Código completo fica da seguinte forma

Resposta

Um dos resultados possíveis pode ser esse aqui: