文字を入力した後、 realloc を使用して要素を配列に追加しようとしています。これが私のコードです:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, j, k;
int a = 1;
int* array = (int*) malloc(sizeof(int) * a);
int* temp;
for(i = 0;;i++)
{
scanf("%d", &j);
temp = realloc(array, (a + 1) * sizeof(int));
temp[i] = j;
if(getchar())
break;
}
for(k=0; k <= a; k++)
{
printf("%d", temp[k]);
}
}
この小さなプログラムを実行すると、たとえば : 2 3 4 と入力すると、 me: 20; と表示されます。メモリが適切に割り当てられていないことはわかっていますが、問題がわかりません。前もって感謝します。