pe...@taronga.com writes:

>> It is just operator precedence, which already makes multiplication
>> non-commutative if you ignore it.  C also makes "f (b) * c" different
>> than "f c * (b)", although its semantics are less surprising (unless,
>> perhaps, c is parenthesized as well).  Is that hateful in C?
>
> Um, "f (b) * c" in C becomes "c * f (b)" if you reverse the order of the
> arguments to the multiplication operator. "f c * (b)" isn't meaningful.

That is precisely why its semantics are less surprising.  Unless c is
parenthesized, the surprise -- if any -- occurs at parse time rather
than run time.

Michael

Reply via email to