Ich versuche, mit memset auf einem reinen 2D-Array, das folgende Stück Code:Memset arbeiten nicht
#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;
}
Ich möchte das gesamte Array von 1 unter Verwendung der Leitung initialisiert werden:
memset (l, 1, sizeof (l));
Aber ich habe nicht den erwarteten Wert erhalten, gibt es mir die folgende Ausgabe:
16843009 16843009 16843009
16843009 16843009 16843009
16843009 16843009 16843009
es gedacht, könnte ein Problem mit dem Compiler, so dass ich versuchte, mit Ideone:
Bitte helfen Sie.
also, wenn ich das ganze Array mit sagen ganzen Wert 1 oder 2 initialisieren wollte, was sollte ich verwenden? – shivshnkr
@ user123456 Verwenden Sie 'std :: fill' oder' std :: fill_n'. –