Buonasera,
il programma chiede questo: "Scrivere una funzione con la seguente interfaccia: void concat(char s1[], char s2[], char s3[]), che ponga nella stringa s3 la concatenazione delle stringhe s1 e s2. Per esempio: se s1="eta", s2="beta", al ritorno dalla chiamata a concat() si deve avere s3="etabeta"."
Sono riuscito a scrivere il codice da solo fino al primo for della procedura. Il secondo for non riesco a capirlo, qualcuno può spiegarmelo? Inoltre anche s3[j] = '\0' non riesco a capire. (Questa parte è presa da internet).
#include <iostream>
#define MAX 100
#include <cstring>
using namespace std;
void concat(char s1[], char s2[], char s3[]){
int i;
int j;
for (i=0; s1[i] != '\0'; i++) s3[i] = s1[i];
for (j=i,i=0; s2[i] != '\0'; i++,j++) s3[j] = s2[i]; //non capisco
s3[j] = '\0'; // non capisco
}
int main () {
char c[MAX];
char e[MAX];
char d[MAX];
cout << "Inserisci stringa 1: ";
cin >> c;
cout << "Inserisci stringa 2: ";
cin >> e;
concat(c,e,d);
cout << "La stringa e': " << d;
}