Implemente as seguintes funções retiradas de enunciados de exames.

3.12char *strduplica(char *s)

Recebe uma string e duplica o seu conteúdo.

char str[100] = “Ana”;

strduplica(s) “AnaAna”

Passo 1

Fala aí! Essa aqui vai exigir um pouquinho de raciocínio. Se liga, vamos começar declarando nossas variáveis:

Aqui, definimos len como o tamanho da string menos 1 e i será usado para percorrer pela string. Já já explico o por quê daquele -1.

Passo 2

Beleza, para isso, bora abrir um laço for, da seguinte forma:

Entendeu o que tá acontecendo ali? Olha só, qual o tamanho da string “Ana”? Acertou quem disse 4, lembre-se que sempre temos que deixar um espaço reservado para o caractere delimitador. E é aí que entra aquele -1 que falei lá no começo, olha porque isso é importante aqui, se pegarmos essa string como exemplo, na linha 9, estamos dizendo para nossa função o seguinte:

faça o caractere na posição 3 igual ao caractere na posição 0; → “AnaA

faça o caractere na posição 4 igual ao caractere na posição 1;→ “AnaAn

faça o caractere na posição 5 igual ao caractere na posição 2;→ “AnaAna

faça o caractere na posição 6 igual ao caractere na posição 3;→ “AnaAna\0

E assim conseguimos nossa string duplicada!

Resposta