42
, "Hello"
i
,
celsiusValue
i + 3
, a *
b
,
answer == 42
((i + 3) * a * b) <= 42
fish1.atWall()
i = 0;
i = 0;
, 0
is an expression, but
i
is not. We're not evaluating i
, we're
using its address as the location where we should put the result of
evaluating the expression on the right-hand side.
if ( a < b ) max = b; else max = a; |
max(a, b) : if a < b then b else a |
(define (max a b) (if (< a b) b a)) |
j = i++;
i++
evaluates to
the value of
i
before the increment and
increments i
.
i = j = 0;
evaluates right-to-left;
j = 0
assigns 0
to
j
and evaluates to 0 (the
new value of j
), giving us i =
0;
.