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

3.5char * xspace(char *s)

Coloca um espaço depois de cada caractere NÃO ESPAÇO na string s.

strcpy(str, “Era_Uma_Vez”);

xspace(str)“E_r_a_ _U_m_a_ _V_e_z_”

Passo 1

Fica ligado nessa aqui, porque vamos usar uns conceitos interessantes. Se liga, vamos começar declarando nossas variáveis:

Então, temos i e j como variáveis que vão nos ajudar a percorrer as strings, definimos uma constante n igual ao tamanho da string original e declaramos a string final, que será a resultante depois de adicionarmos os espaços. Aquele malloc é uma instrução responsável por indicar a quantidade de memória necessária para armazenar certa informação de forma dinâmica, como aqui queremos criar uma string final com o dobro de caracteres da inicial, e, a princípio, não sabemos valores para isso, devemos recorrer a esse recurso.

Passo 2

Beleza, feito isso, podemos passar à parte operacional da nossa função. Vamos abrir um laço for, para percorrer os caracteres da string.

Na linha 13, dizemos à nossa função para copiar cada caractere da string original para a final e, logo em seguida, abrimos um if, que será responsável por adicionar os espaços após cada caractere somente no caso de ele já não ser um espaço. Para finalizar, é só não esquecer de incrementar a variável j e inserir o caractere delimitador de string \0.

Resposta