Tôi cố gắng để sử dụng memset trên mảng 2D thuần túy, sử dụng đoạn mã sau:memset không làm việc
#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;
}
Tôi muốn toàn bộ mảng được khởi tạo bởi 1 sử dụng dòng:
memset (l, 1, sizeof (l));
Nhưng tôi không nhận được giá trị mong đợi, nó mang lại cho tôi những kết quả sau:
16843009 16843009 16843009
16843009 16843009 16843009
16843009 16843009 16843009
Nghĩ rằng nó có thể là một vấn đề biên dịch, vì vậy tôi cố gắng sử dụng Ideone:
Xin vui lòng giúp đỡ.
vì vậy nếu tôi muốn khởi tạo toàn bộ mảng với giá trị số nguyên nói 1 hoặc 2, tôi nên sử dụng cái gì? – shivshnkr
@ user123456 Sử dụng 'std :: fill' hoặc' std :: fill_n'. –