Printing floating point using integer type specifier : <p>I have the below C code.</p>

<pre><code>int main (void)
{
    printf("%d\n",5/(float)4.7);
    printf("Size of int = %d",sizeof(int));
    return(1);
}
</code></pre>

<p>But the result is 1610612736
I was expecting the result to be 1 since we are tying to print an integer. Why this is the case? How float value is getting converted to a large value in printf statement?
I am using codeblock + mingw</p>
