Salve ragazzi, mi potete aiutare a risolvere questo esercizio sui processi in c++ dandomi anche una spiegazione su come ci siete riusciti, mi fareste un grande favore grazie.

Considerando il seguente codice:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv){

int i=2, j=0;
if (argc<=1) return -2;

j=strlen(argv[1]);
for( ; i<strlen(argv[0]; i++){
int pid=fork();
if(!pid){
printf("%d\t%c\n", getpid(), argv[1][j-1]);
i+=2;
}
else{
wait();
}
}
return i;

}

Determinare l'output del programma, invocato con la seguente linea di comando:
./a.out <776494>

Bonus: dire quale warnig viene emesso dal compilatore durante l'esecuzione di:
gcc ./processi2.c
e come modificare il codice per evitarlo.