「要素数10の整数型配列を2つ用意し、片方の整数値で初期化してください。
そして、奇数の値のみもう1つの配列に代入してください。」
という問題なのですが、下のコードを実行すると
配列1 = 10 15 22 45 9 66 71 4 37 82
配列2 =
という様に配列2が表示されません。どこがダメなのか教えてください。
よろしくお願いします。

#include <stdio.h>
int main(void)
{
int array1[10] = {10, 15, 22, 45, 9, 66, 71, 4, 37, 82}, array2[10];
int *p1, *p2;
int i, j;
p1 = array1;
p2 = array2;
for (i = 0, j = 0; i < 10; i++); {
if (*(p1 + i) % 2 == 1) {
*(p2 + j) = *(p1 + i);
j++;
}
}
printf("配列1 = ");
for (i = 0; i < 10; i++) {
printf("%d ", *(p1 + i));
}
printf("\n配列2 = ");
for (i = 0; i < j; i++) {
printf("%d ", *(p2 + i));
}
return 0;
}