Использование% f для печати целочисленной переменной

The output of the following c program is: 0.000000 Is there a logic behind the output or is the answer compiler dependent or I am just getting a garbage value?

#include<stdio.h>

int main()
{
    int x=10;
    printf("%f", x);
    return 0;
}

PS: - Я знаю, что пытаться напечатать целочисленное значение, используя% f, глупо. Я просто спрашиваю об этом с теоретической точки зрения.