I get some warnings when i use %llu as format specifier for unsigned long long with printf() function in C

46 Views Asked by At

I get some warnings from my IDE (Code:Blocks, Win64) when i use %llu as format specifier for unsigned long long in C with printf().

warning: unknown conversion type character 'l' in format
warning: too many arguments for format

But %llu should be the right one for unsigned long long...

#include <stdio.h>

void fibonacciNumber(int n)
{
    unsigned long long fib1 = 0, fib2 = 1;

    if (n < 1)
        return;

    printf("%lld ", fib1);

    for (int i = 1; i < n; i++) {
        printf("%lld ", fib2);

        unsigned long long nextNum = fib1 + fib2;
        fib1 = fib2;
        fib2 = nextNum;
    }
}

int main()
{
    int numbers, clearBuffer;
    char answer;

    do
    {
        printf("Fibonacci sequence calculator - Enter a number :");
        scanf("%i",&numbers);

        fibonacciNumber(numbers);

        while ((clearBuffer = getchar()) != EOF && clearBuffer != '\n');

        printf("\n\nNew calculation? [y / n]");
        scanf("%c",&answer);

    }while ((answer == 'y') || (answer == 'Y'));

    return 0;
}
0

There are 0 best solutions below