字符数组 char temp[30] 与unsigned char temp[30]区别
定义一个字符数组,并且存中文,所以这样定义char temp="保存中文",为什么不能这样定义:unsigned char temp="保存中文", 谁说不能 好像可以吧 lcw_swust 发表于 2012-8-28 14:04 static/image/common/back.gif谁说不能
我在写程序过程中,的确是不行的。你能具体分体一下吗? 不可以,不知道原因 86793 发表于 2012-8-28 18:45 static/image/common/back.gif
我在写程序过程中,的确是不行的。你能具体分体一下吗?
不行?
是编译出现错误,还是实物出现错误? BXAK 发表于 2012-8-28 20:07 static/image/common/back.gif
不行?
是编译出现错误,还是实物出现错误?
编绎不会出现错误的,是实物出错误,我在网上查了一些资料,都没有查到结果。5楼也遇到这样情况是吧?
代码。。来看看。。 MSB可否为1的问题吧 可以的,我一直这么用 这问题非常幼稚。char是带符号数,uchar是无符号数,编译器编译时是检查符号的。当然你可以强制转换。 86793 发表于 2012-8-28 18:45 static/image/common/back.gif
我在写程序过程中,的确是不行的。你能具体分体一下吗?
这就要看你的程序了,
一般情况下,char 是有符号数,unsigned char 是无符号数 lcw_swust 发表于 2012-8-29 17:28 static/image/common/back.gif
这就要看你的程序了,
一般情况下,char 是有符号数,unsigned char 是无符号数
这个我明白,但是在KIEL软件中用 unsignef char数组 方式来存中文的确不行。只能用char数组。难道其他人没有遇到呀。 86793 发表于 2012-8-29 19:04 static/image/common/back.gif
这个我明白,但是在KIEL软件中用 unsignef char数组 方式来存中文的确不行。只能用char数组。难道其他人 ...
我的KEIL2可以,楼主为什么说它不行 不行是怎么不行? 肯定不行,找的是汉字内码,内码大于127时有符号的就会出问题 保0xB1A3
存0xB4E6
中0xD6D0
文0xCEC4 xiahang 发表于 2012-8-29 20:59 static/image/common/back.gif
保0xB1A3
存0xB4E6
中0xD6D0
明白,这个是汉字的内码,汉字内码占2个字节,并且每个字节都是大于127的,所以按道理理说应该是unsigned char temp的! 楼上的说法不准确哈,oxFF赋值给uchar或char都是可以的 一直用unsigned char,没出现问题过。只是KEIL的一个BUG令我蛋疼过,是0XFE的问题,如果我没记错的话。 RUANJI 发表于 2012-8-30 00:01 static/image/common/back.gif
一直用unsigned char,没出现问题过。只是KEIL的一个BUG令我蛋疼过,是0XFE的问题,如果我没记错的话。 ...
你记错了,是0XFD的问题,{:titter:} 两种定义在内存上没有差别, 可能是你使用这个数组的那个函数里面有问题. 还好咱用sdcc没这个问题 无符号的空间估计比有符号的要小,估计用了无符号的溢出了。 RUANJI 发表于 2012-8-30 00:01 static/image/common/back.gif
一直用unsigned char,没出现问题过。只是KEIL的一个BUG令我蛋疼过,是0XFE的问题,如果我没记错的话。 ...
我遇到过0xfd的问题。0xfe 什么问题呀。
我今天将char temp="保存中文",改为unsigned char temp="保存中文",都能够得到正确的结果。真是混了。非常感谢各位的热心网友帮忙 86793 发表于 2012-9-8 00:12 static/image/common/back.gif
我遇到过0xfd的问题。0xfe 什么问题呀。
是0XFD的问题。 86793 发表于 2012-9-8 00:15
我今天将char temp="保存中文",改为unsigned char temp="保存中文",都能够得到正确的结果。真是混 ...
因为是八位单片机 汉字内码虽然是两个字节 但存进数组是一个字节一个字节的 也就是说内码最大只存进0xFF char和uchar均可
页:
[1]