tags:

views:

77

answers:

3

In my source code, if I write 1.23 as a literal, e.g. doThis(1.23), gcc assumes it's a double.

Rather than type doThis((float) 1.23), is there a way to use floats for decimal literals/constants unless otherwise specified in an individual source file?

Mega-bonus points, is there a way that works across (nearly) every C compiler?

+5  A: 

try:

float fred = 0.37f;
Bas Bossink
See [this reference](http://c.comsci.us/etymology/literals.html)
Benoit
Yoda says: 'Do, or do not. There is no try'.
Jonathan Leffler
+6  A: 

Yes, the standard way is to write 1.23f. It works with every C compiler, since it is defined in ISO C99 section 6.4.4.2 Floating constants. ISO C90 and K&R have similar definitions.

Roland Illig
+2  A: 

try 123.4F for a float constant

Peter Miehle