Why %llu isn't recognized by gcc?

237 Views Asked by At

I'm trying to compile this simple code in Windows using MinGW-W64

    #include <stdio.h>
    #include <stdlib.h>

    int main () {
      printf("%llu\n", sizeof(unsigned int)*8);
    }

but when i compile the output of gcc is this:

llu.c: In function 'main':
llu.c:5:15: warning: unknown conversion type character 'l' in format [-Wformat=]
 printf("%llu\n", sizeof(unsigned int)*8);
           ^
llu.c:5:12: warning: too many arguments for format [-Wformat-extra-args]
 printf("%llu\n", sizeof(unsigned int)*8);
        ^~~~~~~~
llu.c:5:15: warning: unknown conversion type character 'l' in format [-Wformat=]
 printf("%llu\n", sizeof(unsigned int)*8);
           ^
llu.c:5:12: warning: too many arguments for format [-Wformat-extra-args]
 printf("%llu\n", sizeof(unsigned int)*8);

It seems as if %llu isn't a valid type but it should be. If i replace %llu with %lu it says sizeof(unsigned int)*8 requires long long int

Can somebody help me fix this please?

0

There are 0 best solutions below