黑马程序员技术交流社区

标题: 在C语言中,char类型能不能存一个中文,为什么? [打印本页]

作者: 风起故里    时间: 2014-7-6 08:49
标题: 在C语言中,char类型能不能存一个中文,为什么?
在C语言中,char类型能不能存一个中文,为什么?{:3_68:}
作者: zhs    时间: 2014-7-6 09:52
本帖最后由 zhs 于 2014-7-6 10:16 编辑

不能
C语言中,char 类型的变量占一个字节,一个汉字在存储时通常占用两个字节。另注:汉字占字节数跟编译器有关,具体编译器占用字节数可用int a=printf("中");然后输出a验证

作者: 完美世界    时间: 2014-7-6 09:55
不能,首先一个汉字有三个字符组成,也就是3个字节,而char类型的变量只有一个字节,只能存单个字符。
作者: 子文    时间: 2014-7-6 10:39
不可以啊! 中文一般占三个字节啊!
作者: Medwyn    时间: 2014-7-6 12:00
char类型实质上是取值范围较小的(只有-128~127)的int类型,里面以ASCII码的形式存储内容,汉字的编码较为特殊,不在此类,因此不能存储汉字。
作者: 骑着飞机去看海    时间: 2014-7-6 12:54
你只能在里面存储127到-128只间的数。或者26个字母。
作者: Emy♪    时间: 2014-7-6 17:21
哈哈! 楼上都回答的很详细。
想存中文就用字符串吧。
作者: chengnuoaini030    时间: 2014-7-6 22:54
嗯 肯定是不可以的   因为char是一字节
作者: 我是一只小小强    时间: 2014-7-6 23:01
中文三个字节,char一个
作者: lipeiaiwo    时间: 2014-7-6 23:35
他们回答的都很详细了。。
作者: 爱情路13号    时间: 2014-7-7 00:26
想加分都赶不上
作者: 风起故里    时间: 2014-7-8 07:35
{:3_54:}大伙回答的好专业 谢谢谢谢~!~~
作者: 丶白菜你个小番    时间: 2014-7-8 10:01
不能,char的内存空间是一个字符;汉字占两个
作者: 追马    时间: 2014-7-11 08:54
我怎么听老师将是3个字节一个中文啊、
作者: 丶白菜你个小番    时间: 2014-7-11 09:31
不能,char的类型只占一个字节,中文占两字节




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