forループ内に2次元配列を塗りたい。しかし、それは動作しません。私は全く分からなぜそれが配列を充填されていない理由...forループの二次元配列を塗りつぶす
int main() {
int a = 32;
int x = 100;
int y = 1;
int z = 2;
int i, j;
int ar[32][2] = {{1,x},{}};
// works until here!
// gives me that
1 100
0 0
0 0
0 0
...
// I need the array filled
1 100
somenumber somenumber
somenumber somenumber
somenumber somenumber
...
for (i = 1; i <= a; i++) {
x = (x + y) * z;
ar[i][i] = {{i + 1, x},{}};
}
return 0;
}
test.c: In function ‘main’: test.c:27:14: error: expected expression before ‘{’ token ar[i][i] = {{i + 1, x},{}};
を持っていません!
は 'ar'はわずか20' int'sが含まれていますが、あなたのforループのインデックス32の異なる値にしようとしますが。 'ar [i] [i]'は 'int'です。なぜあなたは '{{i + 1、x}、{}}'をそれに割り当てようとしていますか? – aschepler
また、 'int y = 1.2;'の値は '1'になります。 – aschepler
@aschepler私はちょうど実現しました。私はその数を修正した。変数をよりよく理解できるように置き換えました。 – Stophface