C++中的memset函数求解,它有三个参数分别是什么作用?
展开全部
#include <cstdio>
#include <memory>
void main()
{
int a[10];
memset(a, '\a', 10);
printf("%d\n", '\a');
printf("%d", a[1]);
printf("%d", a[2]);
}
怎么可能无所谓,有两处错误,\a ASCII是7,不是97,
memset(a,'\a',10*sizeof(int));正常这样才是对的 否则只有前两个int初始化了。。
----------- 但是不幸的是我写的也是错的,因为memset是按字节填充的,所以我的结果每个里面的值是 117901063=7*(2^24+2^16+2^8+1)
#include <memory>
void main()
{
int a[10];
memset(a, '\a', 10);
printf("%d\n", '\a');
printf("%d", a[1]);
printf("%d", a[2]);
}
怎么可能无所谓,有两处错误,\a ASCII是7,不是97,
memset(a,'\a',10*sizeof(int));正常这样才是对的 否则只有前两个int初始化了。。
----------- 但是不幸的是我写的也是错的,因为memset是按字节填充的,所以我的结果每个里面的值是 117901063=7*(2^24+2^16+2^8+1)
更多追问追答
追问
memset第三个参数是不是把数组的10个元素都转化为ASCII
追答
不是,第三个参数数值假设是n, memset就是把n个字节都赋值成第二个参数值~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-29
展开全部
目标地址,字符内容,长度
更多追问追答
追问
目标地址是指?
追答
你要操作的地址,通常有指针传入。
例如
int a[10];
memset(a,'\a',10);
就吧a数组里每个都变成97了。97是\a对应的ascii
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询