Any one knows what is the ASCII value of i.
I try printf(\"%d\",EOF);
but its print -1
and also try printf(\"%c\",EOF
EOF (as defined in the C language) is not a character/not an ASCII value. That's why getc returns an int and not an unsigned char - because the character read could have any value in the range of unsigned char, and the return value of getc also needs to be able to represent the non-character value EOF (which is necessarily negative).