2006-05-27 複合代入式の値 プログラミング C 知らなかったし、今も自信がない。 int i, j, k; j = 1; k = 2; i = j += k; /* i, j, k の値は? 順に、3, 3, 2 となったけど。 */手持ちの C ハンドブックによると、 += は、複合代入演算子 複合代入演算子は、代入演算子 だから、+= は代入演算子。 また、 代入式の値は、代入後の左辺 ということだから、i の値は、j += k を行った後の j となる。ただ、文献がちょっと古いので本当かどうか。