我試圖在純2D陣列使用memset的,使用下面的代碼段:memset的不工作
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int l[3][3];
memset (l, 1, sizeof(l));
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << l[i][j] << " ";
}
cout << endl;
}
return 0;
}
我希望整個陣列1被初始化使用線:
memset(l,1,sizeof(l));
但我沒有得到預期的價值,它給了我下面的輸出:
16843009 16843009 16843009
16843009 16843009 16843009
16843009 16843009 16843009
認爲這可能是一個編譯器的問題,所以我嘗試使用Ideone:
請幫忙。
所以如果我想用整數值1或2來初始化整個數組,我應該使用什麼? – shivshnkr
@ user123456使用'std :: fill'或'std :: fill_n'。 –