这是代码:
#include <iostream>
#include <cstring>
int main()
{
int win[11];
std::memset(win, 1, sizeof(win));
for (int i = 0; i < 11; ++i)
std::cout << win[i] << ' ';
std::cout << std::endl;
return 0;
}
我认为这里没有逻辑缺陷?但我没有得到一串1
打印出来,而是得到了16843009
.
如果我更改memset
为std::memset(win, 0, sizeof(win))
. 然后一切都如预期的那样。win的内容全为零。
我在这里错过了什么吗?
我正在g++ 4.7.3
使用Ubuntu 13.04
.
很抱歉这个重复的问题。
这是答案。谢谢