それ以外の
cardNumber = j+1;
deck[i][j] = cardNumber;
theDeck[k] = cardNumber;
と言うのは正しいですか
deck[i][j] = theDeck[k] = cardNumber;
cardNumber をデッキと theDeck の両方に同時に割り当てるには??
はい、そうです。代入演算子は値を返します。
はい、それは式であり、その値は代入の右側です。=
これは、 (right-to-left)の結合性にも由来することに注意してください。
x = y = z
に相当:
x = (y = z)
だがしかし:
(x = y) = z /* wouldn't work */
したがって、さらに進んで次のように書くことができます。
theDeck[k] = deck[i][j] = cardNumber = j+1;
はい、そうです; それはこのようなものです:
deck[i][j] = (theDeck[k] = cardNumber);