0
0-xの範囲の乗算表を格納するC関数を記述しようとしています。私が書いた関数には、テーブルの最初の2行か3行しか格納されていないバグがあり、その関数は決して値を返すことはなく、私は非常に混乱しています。ここで掛け算表の問題
void makeTable (int x) {
int** table = malloc(x * sizeof(int*));
int i;
int q;
int* ptr;
for(i = 0; i <= x; i++){
ptr = calloc(x, sizeof(int));
for(q = 0; q <= x; q++){
ptr[q] = (i * q);
}
table[i] = ptr;
}
return table;
}
サイズがxの配列の場合、最後にアクセス可能な要素のインデックスは 'x-1'です –
関数は' int ** 'を返すときに' void'と宣言します。コンパイラの警告がこれを捕らえていたはずです。 –