42, "Hello"i,
celsiusValuei + 3, a *
b,
answer == 42((i + 3) * a * b) <= 42fish1.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;.