Why does fputc function have integer as argument instead of unsigned char?

why does fputc function have integer as argument instead of unsigned char? This question is a duplicate of this , which is referred to as "int is accepted as an argument because unsigned char is not large enough", but my point here is even the fputc function implicitly converting int to unsigned char right?

Questions:

1.Why is the fputc argument an int not unsigned char even though fputc converts int back to unsigned char?

2. No wars or errors when int is replaced with unsigned char?

3. Can anyone give an example where the compiler gives war or error when char is used as an argument instead of int?

+3


source to share





All Articles