Ciao a tutti, sono alle prime armi col C e sto provando a fare una funzione che, dato un array a([1,2,3,4, 5]), deve copiare in un altro array (b) di dimensione doppia il primo, così che il risultato risulti: b[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
Dove sbaglio?

codice:
#include <stdio.h>
main(){
int a[5]= { 1, 2, 3, 4, 5 }; /* Array iniziale */
int b[10]; /* Array finale */

int i=0; /* contatori*/
int j=0;

while(i<5)  { /* finchè i<5 copia in b i primi 5 elementi di a*/
 b[i]=a[i];
  i++;
  }
  i=0; /* riporto i a 0*/
while(i<5)  { /* finché i è minore di 5 copia in b gli elementi di a partendo dal primo*/
  b[j]=a[i];
  j++;
  i++;
  }
int k=10;     /* per vedere se ho fatto giusto stampo l'array b */
while (k!=0) {
printf("\n", i, b[k]);
k--;
  }
    }
Grazie anticipatamente!