This question already has an answer here:
memset to INT_MAX in C++ [duplicate]

(1个答案)


2年前关闭。



int main()
{
    int array[10];
    memset(array, INT_MIN, sizeof(array));
    cout << INT_MIN << endl;
    for (int i = 0; i < 10; i++)
        cout << array[i] << endl;
    system("pause");
}

就像这样,当我使用“memset(array,-1,sizeof(array))”时,我会得到正确的结果。但是,当我使用INT_MIN而不是-1时,所有输出均为0,但INT_MIN应该为-2147483648:
输出:
results image

最佳答案

说明:

memset(array, INT_MIN, sizeof(array));

通过cast:(unsigned char)INT_MIN的结果设置每个字节,因为它按字节操作,而不是数组元素。

关于c++ - memset操作后,数组的结果为0 ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52949263/

10-14 23:57
查看更多