Così dovrebbe funzionare
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20];
char str2[20];
char *ptr,*b=" ";
char a;
int l;
printf("\nInserisci due stringhe: \n");
scanf("%s",str1);
scanf("%s",str2);
l=strlen(str1)+strlen(str2)+1;
ptr=(char*)malloc(l*sizeof(char));
strncpy(ptr,str1,strlen(str1));
strncpy(ptr+strlen(str1),b,strlen(b));
strncpy(ptr+strlen(str1)+strlen(b),str2,strlen(str 2));
ptr[strlen(str1)+strlen(str2)+strlen(b)]='\0';
printf("%s\n",ptr);
}
Ho cercato di continuare con la tua logica, però se non ti sei accorto prima c'era un errore, ti stampava solo 1 delle 2 stringhe che inserivi!![]()

Rispondi quotando