memset()函数输出不合需要

时间:2014-10-31 03:22:27

标签: c++

以下是我的问题的截图。

enter image description here

代码是

#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;
}

我不明白为什么[2] [500]显示50529027.谁能告诉我两个memset()调用之间有什么区别?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

50529037是0x03030303。 memset()按字节值设置内存。

答案 2 :(得分:0)

getInt(...))逐字节工作,仅包含 0、1,-1,false,true

参考:GeeksForGeeks