How do I printf long long int and also unsigned long long int in C99 using GCC?
I have searched the other posts which suggest to use %lld but it gives these warnings:
warning#1: unknown conversion type character ‘l’ in format [-Wformat]|
warning#2: too many arguments for format [-Wformat-extra-args]|
For the following attempt:
#include <stdio.h>
int main()
{
long long int x = 0;
unsigned long long int y = 0;
printf("%lld\n", x);
printf("%llu\n", y);
}
If you are on windows and using mingw, gcc uses the win32 runtime, where printf needs
%I64dfor a 64 bit integer. (and%I64ufor an unsinged 64 bit integer)For most other platforms you’d use
%lldfor printing a long long. (and%lluif it’s unsigned). This is standarized in C99.gcc doesn’t come with a full C runtime, it defers to the platform it’s running on – so the general case is that you need to consult the documentation for your particular platform – independent of gcc.