读书人

为什么用int型变量去存放字符,该怎么处

发布时间: 2012-06-04 14:48:03 作者: rapoo

为什么用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

读书人网 >C语言

热点推荐