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

AltStyle によって変換されたページ (->オリジナル) /