int x; So there will be 2 bytes memory for the variable. Now, if I entered 66 and because scanf() with %d, 66 will be stored in 2 bytes memory because the variable is declared int.
Now in printf() with %c, should collect data from only one byte memory to display.
But %c displayed correctly B by getting correct data 66 from memory to display.
Why it %c has not just get data from one byte?