[Once again, I've added the attribution line that Gordon Burditt has
deliberately and rudely deleted.]
Is this really supposed to be a constant slightly different from
6.626068e10 ?
Use parentheses.
Lack of parentheses isn't the problem. Either this is a typo, or the
OP has misunderstood how scientific notation is represented in C.
The approximage value of Planck's constant is 6.626068 * 10**-34,
where "**" denotes exponentiation. In mathematical texts, this is
generally written as something like:
-34
6.626068 * 10
(That's not going to look right unless you use a fixed-width font.)
Since C needs to be written using fonts that don't support
superscripts, the C notation drops the constant "10" and uses:
6.626068E-34
What the OP wrote, "6.626068e10-34", would be interpreted by a
compiler as the floating-point constant 6.626068e10, a "-" operator,
and the integer constant 34, but I'm sure that's not what he intended.
So the correct definition (assuming the value is correct) would be:
#define PLANCK 6.626068e-34
No parentheses are necessary; a floating-point constant is a single
token, and no ambiguity is possible (barring ugly tricks with
token-pasting).
[...]
I recommend you use at least one pair of unnecessary parentheses:
#define PLANCK (((6.626068e10) - (34)))
That's just silly; I hope it was deliberately silly.
As always, I do not grant permission to quote this or any other
article I post to Usenet without attribution. Gordon, you're more
than welcome to respond; just leave the attribution lines alone.