printf does not print long long ints properly

Markus Hoenicka markus.hoenicka@mhoenicka.de
Sat Jan 24 21:22:00 GMT 2004


Hi,

I ran across a similar problem on OSX. It turned out to be a compiler
bug. The workaround on that platform was to use an explicit cast in
the argument list, i.e. something like:

printf("%Ld",(long long)i);

regards,
Markus

Daniel Jeliński writes:
 > when I compile the following program:
 > 
 > #include <stdio.h>
 > main()
 > {
 > long long i;
 > i=1000000;
 > i*=1000000;
 > printf("%Ld",i);
 > return 0;
 > }
 > 
 > I get the following:
 > -727379968
 > instead of the expected 1000000000000
 > 

-- 
Markus Hoenicka
markus.hoenicka@cats.de
(Spam-protected email: replace the quadrupeds with "mhoenicka")
http://www.mhoenicka.de


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list