Bootstrap

c++ memset

在代码中使用 memset(a, 1, sizeof(a)); 意图将数组 a 的所有元素初始化为 1,但是 memset 按字节进行赋值操作。对于 int 类型的数组,每个元素占 4 个字节(通常情况),这样使用 memset 会导致每个元素的二进制表示并非是期望的整数值 1(而是二进制层面按字节填充后得到的一个不符合预期的整数值)。

如果要将 int 数组所有元素初始化为 1,正确的做法可以是使用循环来逐个赋值,例如:

```

for (int i = 0; i < 10001; i++) { a[i] = 1; }

```

;