8: 2011-07-05 (火) 16:11:31 yoshida | 9: 2011-07-06 (水) 12:50:08 yoshida | ||
---|---|---|---|
Line 95: | Line 95: | ||
| /= | a /= b | a = a / b | | | /= | a /= b | a = a / b | | ||
| %= | a %= b | a = a % b | | | %= | a %= b | a = a % b | | ||
- | | ++ | a++ | a = a + 1 | | + | | ++ | a++(++a) | a = a + 1 | |
- | | -- | a-- | a = a - 1 | | + | | -- | a--(--a) | a = a - 1 | |
+ | - 補足 | ||
+ | a++と++aの違いについて~ | ||
+ | a++; | ||
+ | と単一行で使用する場合は、 | ||
+ | ++a; | ||
+ | と同じ意味になりますが、単一行以外の使用では加算するタイミングが異なります。~ | ||
+ | #html{{ | ||
+ | <pre class="brush: c"> | ||
+ | void main (void) { | ||
+ | int i = 0; | ||
+ | while (i++ < 10); | ||
+ | } | ||
+ | </pre> | ||
+ | }} | ||
+ | 上記の場合、iは0 1 2 3 4 5 6 7 8 9 10と遷移し0~9の10回の繰り返しが行われます。 | ||
+ | #html{{ | ||
+ | <pre class="brush: c"> | ||
+ | void main (void) { | ||
+ | int i = 0; | ||
+ | while (++i < 10); | ||
+ | } | ||
+ | </pre> | ||
+ | }} | ||
+ | 上記の場合は、iは1 2 3 4 5 6 7 8 9 10と遷移します。そのため、1~9の9回しか繰り返しは行われません。~ | ||
+ | これは++の位置により、1を加えるタイミングが異なるからです。~ | ||
+ | i++ではiを参照(ここではwhileの条件判断)後、1を加えます。~ | ||
+ | ++iは1を加えた後、iを参照します。~ | ||
+ | このルールは--を使用する際も適用されます。但し、--の場合は加算ではなく、減算となります。 | ||
***比較演算子 [#db59b61c] | ***比較演算子 [#db59b61c] |