How does printf statement work here, when printing integer number?
<pre><code>#include&lt;stdio.h&gt;
int main()
{
    int a=034;
    printf("%d",a);
    return 0;
}
</code></pre>

<p>If I give a value as  034, the output is 28.
if it's 028, it gives an error saying "invalid digit "8" in octal constant".</p>