Exercício 10: Construir um programa que seja capaz de concatenar uma string s1 e uma outra string s2 em uma string s3. Por exemplo:
Digite a string s1: Quem canta os males espanta.
Digite a string s2: Ha males que vem para o bem.
Nova string s3: Quem canta os males espanta. Ha males que vem para o bem.

Passo 1

Resumo do enunciado: precisamos criar um programa que leia duas strings, s1 e s2, e produza uma terceira string s3 que seja a concatenação de s1 e s2, exibindo o resultado ao usuário. O conteúdo é manipulação de strings em C, usando funções da biblioteca <string.h>.

Passo 2

Declarar variáveis: vamos precisar de três vetores de char (arrays) suficientemente grandes para armazenar s1, s2 e s3. Por segurança, escolhemos tamanhos que evitem estouro de buffer.

Passo 3

Leitura das strings: usamos fgets para ler s1 e s2 da entrada padrão (stdin), pois ela evita overflow e lê linhas completas. Após a leitura, removemos o caractere de nova linha “\n” que o fgets pode deixar no final.

Passo 4

Inicialização de s3: copiamos o conteúdo de s1 para s3 usando strcpy, que coloca o terminador ‘\0’ no fim.

Passo 5

Concatenação propriamente dita: primeiro, garantimos um espaço entre s1 e s2 com strcat(s3, " "). Em seguida, chamamos strcat(s3, s2) para anexar s2 ao final de s3.

Passo 6

Exibição do resultado: imprimimos s3 na tela com printf.

Passo 7

Estrutura geral: envolvemos tudo em uma função main, incluindo os headers <stdio.h> e <string.h>, e retornamos 0 ao final para indicar sucesso.

Resposta

#include <stdio.h>
#include <string.h>
int main() {
char s1[100], s2[100], s3[200];
printf("Digite a string s1: ");
fgets(s1, sizeof(s1), stdin);
s1[strcspn(s1, "\n")] = '\0';  // Remove o '\n' do final

printf("Digite a string s2: ");
fgets(s2, sizeof(s2), stdin);
s2[strcspn(s2, "\n")] = '\0';  // Remove o '\n' do final

strcpy(s3, s1);       // Copia s1 para s3
strcat(s3, " ");     // Adiciona um espaço entre as frases
strcat(s3, s2);       // Concatena s2 ao final de s3

printf("Nova string s3: %s\n", s3);

return 0;
}

Exercícios relacionados