6x15 配列 (マップ) のランダム座標を数値 3 に設定しようとしていますが、その座標の値がまだ 0 の場合のみです (配列内のすべての値は最初は 0 に設定されており、ship num は配置したい 3 の値)
25 int shipnum;
26 int x;
27
28 shipnum = 1;
29 while(shipnum > 0)
30 {
31 if ((&x = map[rand_number(MAX_ROWS)][rand_number(MAX_COLS)]) == 0)
32 {*x = 3;
33 shipnum --;}
34 }
ただし、コンパイル中にエラーが発生します
testarray3.c:31:9: error: lvalue required as left operand of assignment
testarray3.c:32:2: error: invalid type argument of unary ‘*’ (have ‘int’)
これらのどちらが何を言っているのかわかりません...または、私がやろうとしていることを行うためのより良い方法はありますか?