c++中定义一个buff为unsigned char 型,如何初始化全为0
unsignedcharbuff2;for(inti=0;i<8;i++)buff2[i]='0';网上面这样初始化会出错,该如何改,望高手帮忙看一下~...
unsigned char buff2;
for (int i=0;i<8;i++)
buff2[i]='0';
网上面这样初始化会出错,该如何改,望高手帮忙看一下~ 展开
for (int i=0;i<8;i++)
buff2[i]='0';
网上面这样初始化会出错,该如何改,望高手帮忙看一下~ 展开
展开全部
上面Jenghau的回答很清楚,你有两个问题:
1、首先你定义的不是字符数组而是单个字符,所以出错。
2、你初始化成'0'是字符0,ASCII是'0x30'不是真正的0,真正的0是'\0'
另外,我们一般用以下方法初始化数据到0,不用循环,循环比较慢。我们一般用:
memset((void*) buf, 0, sizeof(buf));
1、首先你定义的不是字符数组而是单个字符,所以出错。
2、你初始化成'0'是字符0,ASCII是'0x30'不是真正的0,真正的0是'\0'
另外,我们一般用以下方法初始化数据到0,不用循环,循环比较慢。我们一般用:
memset((void*) buf, 0, sizeof(buf));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
unsigned char buff2[8]; //定义的问题
for (int i=0;i<8;i++)
{
buff2[i]='0';//注意 这里是 字符'' 0 '' 。
}
for (int i=0;i<8;i++)
{
buff2[i]='0';//注意 这里是 字符'' 0 '' 。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
buff2=0;即可
0既是二进制的00000000
0既是二进制的00000000
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
buff2声明为数组就ok
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询