使用 memset 初始化 int 数组

using memset to initialise the int array

#include<bits/stdc++.h> 
using namespace std;
int main()
{
    int arr[1010];
    memset(arr,1,sizeof(arr));
    cout<<arr[1]<<endl;
    return 0;
}

我正在尝试用值 1 初始化数组。 我希望我的 o/p 为 1。但是我得到了一些随机数 (16843009),因为 o/p of program.I 我不明白代码有什么问题???

我在尝试使用值 -1 和 0 初始化数组时得到了预期的答案。是否可以使用 memset 将 int 数组初始化为 -1 和 0 以外的值?????

memset 设置单个字节,而不是整个整数,通常跨越四个字节。如果你看一下数字 16843009 的位,它就是你得到的四个字节的值 1。正如 Ed Heal 所说,不要使用 memset 使事情复杂化。请改用循环。