Why this program is giving the output at -25 in spite of variables being unsigned integer : <p>1.The code defines the variables as unsigned integer however the output is shown negative.</p>

<pre><code>#include&lt;stdio.h&gt;
#include&lt;limits.h&gt;
#include&lt;stdint.h&gt;
int main(){
    uint32_t a= 25,b=50;
    a = a-b;    
    printf("\n%d\n",a);
    return 0;
}
</code></pre>
