2 ms·
In 1 the problem is silently discarding double precision to float precision. I edited the example to be less confusing.
by ajuc 11y ago
In 1 the problem is silently discarding double precision to float precision. I edited the example to be less confusing.
- AnimalMuppet 11y agoAh. Yes, I was confused; I thought the issue was the promotion of the 2 from int to floating point.
- ajuc 11y agoAlso I made an error - should have been *(1+a) = 1; Still bad but not as bad.
- AnimalMuppet 11y agoOr: 1[a] = 1;
- AnimalMuppet 11y agoAfter thinking about it a bit, that also is well-typed in C. (You can argue that it shouldn't be allowed, but that's a different argument than that the language is not strongly-typed because of that feature.)