According to K&R C section 1.6, a char is a type of integer. So why do we need %c. And why can\'t we use %d for everything?
char
%c
%d
If you use %c, you'll print (or scan) a character, or char. If you use %d, you'll print (or scan) an integer.
printf("%d", 0x70);
How will the machine would know that you want to output a character, not its equivalent ASCII value?