为什么用int型变量去存放字符
比如,getchar()接收char字符,但返回值是int
再比如,《The C Programming Language》中,(2.7节)将大写字符转换成小写的lower()函数
- C/C++ code
/*lower: convert c to lower case;ASCII only*/int lower(int c){ if(c>='A'&&c<='Z') return c+'a'-'A'; else return c;}
以上这些都是处理普通字符型变量,只需要一个字节就能存放字符,并不需要开辟int那么大的空间,但是各经典函数都用int来存放字符,不解,求大神解惑!!
[解决办法]
因为EOF为-1
[解决办法]
为了区别'\xff'和EOF