Прекрасно работает в моей среде. Centos 5.11 (64bit) печатает 5 для первого упомянутого вами случая.
gcc версия 4.9.1 (GCC)
gcc-файл. c blockquote> ./a.out 5 blockquote>
gcc-файл. c
./a.out
5 blockquote>
5