为什么在C语言中字符也有有符号类型?
unsigned signed
[解决办法]
C语言就是这样设计的,最高位可以作为符号位(signed),也可以不当符号位解释(unsigned)
[解决办法]
我想楼主主要是想问既然字符都是正的,那为什么char型会允许负数存在,为什么还要加上unsigned才能表示只能为正的字符?
我是这么理解的,因为在C语言里面,所有的类型:int , float, double, byte都是带符号的,如果突然出现一个char 型不带符号,不带不利于它的表示,而且也很容易让人误解.所以就干脆让它也可以带符号.然后统一的,如果不想带符号就加上unsigned.
这样语言风格的规则很统一,便于用户习惯.也防止由于记错而发生的错误.
[解决办法]
我的理解是,char严格来说,应该叫做byte类型(c语言并不提供byte类型)。
代表一个字节。只是不知道为什么把名字叫做char了,也许是最早用于ascii码的表示吧(我猜的)
[解决办法]
"char严格来说,应该叫做byte类型(c语言并不提供byte类型)。 "
错!
[解决办法]
Kenmark(fenix) ( ) 信誉:100
"char严格来说,应该叫做byte类型(c语言并不提供byte类型)。 "
错!
----------------------------------------
char代表一个字节=8bit,不能代表byte类型吗?