memset函数按字节对内存块进行初始化,所以不能用它将int数组初始化为0和-1之外的其他值(除非该值高字节和低字节相同)。
#include <iostream> #include <cstring> using namespace std; int main() { int a[5]; memset(a,1,20); //也等价于memset(a,1,sizeof(a));. for(int i=0;i<5;i++) cout<<a[i]<<endl; return 0; }