如何memset数组为127c++(普通使用会变成很大的数字)
时间: 2024-10-01 20:02:05 浏览: 29
统计数字问题_两种方法的代码_很经典(c++).docx
在C++中,`memset()` 函数通常用于设置数组的所有元素为特定值,包括整型变量。如果你想要将数组的元素初始化为 `127`(在二进制中表示为 `'01111111'`),但又不想直接写死这个数值,你可以这样做:
```cpp
#include <cstring>
// 定义数组并指定大小
int arr[100]; // 假设是一个长度为100的整数数组
// 使用 memset 设置所有元素为 127 (无符号 char 的最大值)
std::memset(arr, ~0u, sizeof(arr));
// 注意这里的 '~0u' 表示无符号整数类型的最高位全部置为1,即全1(相当于127的二进制形式)
```
但是,这种方法实际上是将数组所有元素设置为无符号字符类型的 `255`,因为 `~0u` 等价于 `0xFFFFFFFF` 或 `-1` 对应于无符号整数。如果你想得到准确的 `127` 值,你需要直接赋值:
```cpp
for (size_t i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
arr[i] = 127;
}
```
阅读全文