配列3つをstr1、str2、str3と用意して、str1のそれぞれの要素がstr2の要素と一致したらstr3に格納する
プログラムです。その際ポインタを使います。
実行したら0になりました。どうしてでしょうか?また、どこがおかしいのですか?
#include <stdio.h>
void main()
{
int str1[5] = {8, 10, 13, 6, 9};
int str2[5] = {3, 6, 7, 9, 13};
int str3[5] = {0};
int i, j, k;
int *p1, *p2, *p3;
p1 = str1;
p2 = str2;
p3 = str3;
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
if (*p1 == *p2) {
*p3 = *p1;
p3++;
break;
}
p2++;
}
p1++;
}
for (k = 0; k < 5; k++) {
printf("%d\n", *p3);
}
}