gpt4 book ai didi

c - c中memset()的使用

转载 作者:太空狗 更新时间:2023-10-29 15:50:40 25 4
gpt4 key购买 nike

我写了一个小程序来习惯memset()操作:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>

int main()
{
int arr[10], i;
int t = INT_MAX;
memset(arr, t, sizeof(arr));
for (i = 0; i < 10; i++)
printf("%d\t",arr[i]);

printf("%d",t);
return 0;
}

上述程序的结果是:

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1

2147483647

上述程序中memset() 的行为是什么?为什么要将数组元素设置为 -1

最佳答案

memset只取值的低八位并用这些位填充整个缓冲区。 MAX_INT 的低 8 位全为 1(0xFF),因此数组后面全为 1。对于有符号整数,这是 -1。

关于c - c中memset()的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20161179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com