黑马程序员技术交流社区

标题: char类型 [打印本页]

作者: 1384588560    时间: 2015-9-28 01:08
标题: char类型
定义char a =07,没有问题  char b=08就报错,为什么?
作者: Mr.W    时间: 2015-9-28 09:01
08就会提示int不能赋值给char,说明08的时候是整形了,07是char类型,可能涉及到二进制的01存储我觉得
作者: 芝麻糊    时间: 2015-9-28 09:26
0开头表示八进制, 八进制8进1,没有8这个数字
作者: li151385    时间: 2015-9-28 09:30
八进制到七,所以会报错了。
作者: fmi110    时间: 2015-9-28 09:37
学习了  进制的问题
作者: ln0491    时间: 2015-9-28 09:41
进制问题吧,八进制,没有8的吧
作者: djsbiu    时间: 2015-9-28 10:02
我感觉是因为8进制的事,07是8进制范围内,08超出了表示范围自动为10进制。再提一句,0x1,0x2等16进制也可以像07那样赋值给char变量。
作者: djsbiu    时间: 2015-9-28 10:04
djsbiu 发表于 2015-9-28 10:02
我感觉是因为8进制的事,07是8进制范围内,08超出了表示范围自动为10进制。再提一句,0x1,0x2等16进制也可 ...

上边我说错了,08不自动转换为int型,表示错误,过大的整型。
作者: 553237481    时间: 2015-9-28 21:21
这个应该是进制的问题,08这个写法有问题,改成010应该就不会错了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2