关于memset初始化数组的有关问题

关于memset初始化数组的问题
测试代码:
#include <iostream>
#include <cstring>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
int a[10];
for(int i=0;i<10;++i)
{
cout<<"a 被初始化的值为"<<i-5<<endl;
memset(a,i-5,sizeof(a));
for(int j=0;j<10;++j)
cout<<a[j]<<" ";
cout<<endl;
}
return 0;
}

输出:
关于memset初始化数组的有关问题
不明白为什么结果会是这样?
------解决方案--------------------
memset是用于设置每个字节的,一个int有四个字节,一般用作初始化memset(arr, 0, sizeof(arr));
------解决方案--------------------
LZ,你这么用不对,你调试的时候看看内存值得变化,menset之后,数组中的每个字节都变成FB(如果初始化为-5),a[0]有4个字节,就变成了FB FB FB FB,输出当然是-67372037