小里子 发表于 2014-11-26 20:14:33

为什么定义的数组长度大于一定值时,把它的值传给另一...

buffer[]中打印出来有1024个值,为什么当buffer[]的长度大于572时,pbuffer[]的值会变为空或乱码?for循环是把buffer中的元素(都是半字节的)两个一组合放到pbuffer中。


uint8_t i=0,j=0,k=0,index=0,pbuffer;
uint16_t tmp_char=0,z=0;
uint8_tbuffer;


GetGBKCode(buffer,str);
for(z=0;z<512;z++)
{
   pbuffer=buffer;
   pbuffer=((pbuffer&0x0f)<<4);
   pbuffer|=(buffer&0x0f);
}

远方的少年 发表于 2014-12-3 17:44:48

buffer越界了.

junjunshaoguo 发表于 2014-12-4 16:29:49

越界   访问别的地址数据去了
页: [1]
查看完整版本: 为什么定义的数组长度大于一定值时,把它的值传给另一...