这是我的问题的屏幕截图。



该代码是

#include <bits/stdc++.h>

using namespace std;

int a[6][500], b[6][500];

int main()
{
    memset (a,  3, sizeof a);
    memset (b, -1, sizeof b);
    cout << a[2][50] << ' ' << b[2][50] << endl;
    return 0;
}


我不明白为什么a [2] [500]显示50529027。有人可以告诉我两个memset()调用之间有什么区别吗?

最佳答案

memset()以字节为单位。 aint,因此在32位计算机上为a[2][500],值为0x03030303 = 50529027

关于c++ - memset()函数输出异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26667070/

10-12 03:01