A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在C语言中,char类型能不能存一个中文,为什么?{:3_68:}

评分

参与人数 1技术分 +1 收起 理由
ios风痕 + 1

查看全部评分

14 个回复

倒序浏览
本帖最后由 zhs 于 2014-7-6 10:16 编辑

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

评分

参与人数 1技术分 +1 收起 理由
ios风痕 + 1

查看全部评分

回复 使用道具 举报
不能,首先一个汉字有三个字符组成,也就是3个字节,而char类型的变量只有一个字节,只能存单个字符。

评分

参与人数 1技术分 +1 收起 理由
ios风痕 + 1

查看全部评分

回复 使用道具 举报
不可以啊! 中文一般占三个字节啊!
回复 使用道具 举报
char类型实质上是取值范围较小的(只有-128~127)的int类型,里面以ASCII码的形式存储内容,汉字的编码较为特殊,不在此类,因此不能存储汉字。

评分

参与人数 1技术分 +1 收起 理由
ios风痕 + 1

查看全部评分

回复 使用道具 举报
你只能在里面存储127到-128只间的数。或者26个字母。
回复 使用道具 举报
哈哈! 楼上都回答的很详细。
想存中文就用字符串吧。
回复 使用道具 举报
嗯 肯定是不可以的   因为char是一字节
回复 使用道具 举报
中文三个字节,char一个
回复 使用道具 举报
他们回答的都很详细了。。
回复 使用道具 举报
想加分都赶不上
回复 使用道具 举报
{:3_54:}大伙回答的好专业 谢谢谢谢~!~~
回复 使用道具 举报
不能,char的内存空间是一个字符;汉字占两个
回复 使用道具 举报
我怎么听老师将是3个字节一个中文啊、
回复 使用道具 举报
不能,char的类型只占一个字节,中文占两字节
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马