It works fine for me, on Centos 6.6, with or without -std=c99:
$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
Copyright (C) 2010 Free Software Foundation, Inc.
$ gcc x.c -o x -std=c99 -Wall -pedantic
$ ./x
123.456
x = 123.456000
$ gcc x.c -o x -Wall -pedantic
$ ./x
123.456
x = 123.456000
I'm assuming you're on Linux (or Mac OSX), and I assume you're using the libc that matches the installed gcc.
HOWEVER
There are issues if you're using GCC with MinGW on Windows:
scanf not taking in long double
Dev-c++ uses MinGW, which uses the gcc compiler and the Microsoft
runtime library. Unfortunately, those components disagree on the
underlying type to be used for long double (64 vs. 80 or 96 bits, I
think). Windows assumes long double is the same size as double; gcc
makes long double bigger.
Either choice is valid, but the combination results in a broken C and
C++ implementation.