Răspuns :
Răspuns:
Explicație:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char* sir1;
char* sir2;
sir1=malloc(100*sizeof(char));
sir2=malloc(100*sizeof(char));
scanf("%s", sir1);
scanf("%s", sir2);
char* sir3;
sir3=malloc(200*sizeof(char));
sir3=sir1;
strncat(sir3, sir2, strlen(sir2));
printf("%s", sir3);
return 0;
}
explicatii pointeri:
char *sir1; - sir1 este un pointer care memoreaza adresa unui obiect de tip char
cu functia malloc ii aloc spatiu vectorului in memorie
cat spatiu aloc ii dau parametru lui malloc, in cazul nostru de 100 de ori dimensiunea unui caracter. cu alte cuvinte, in sir poti citi 100 de caractere.
sirul 3 are dimensiune 200 ca sa poata memora sirurile concatenate
strncat e functie de concatenare - la sirul3 (care anterior memorase sirul1) se concateneaza sir2 si avem nevoie si de al treilea parametru - lungimea sirului concatenat).
pentru orice intrebari/ nelamuriri iti stau la dispozitie :)