- the ++ operator only acts on integer types, not floats or doubles, so there is no limit to speak of here
- the expression "C++" has value equal to C before incrementing, hence the expression "C/C++" is just one for positive C, even when C is small
It might be a bad idea to use it in many cases (since there are values for which the result is just rounded back to the original value), but it works!
no, I believe it works on pointer types and enums as well
Using it seems like a bad move though -- for large values it can round back to the input value.
Indeed, the following stupid test program works, although it may heat up your laptop slightly.
#include <stdio.h> void main() { float C = 1.0f; float Cin = 0.0f; int i=0; while (Cin != C) { i++; Cin = C; C++; } printf("%i %e\n", i, C/C++); }