📅  最后修改于: 2023-12-03 15:40:52.270000             🧑  作者: Mango
在C++中,我们可以使用循环构造语句,将二维数组填充为0。本文将介绍两种方法来实现这个目标。
#include <iostream>
using namespace std;
int main() {
int arr[3][3];
//使用嵌套循环遍历二维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
arr[i][j] = 0;
}
}
//输出二维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
使用两层循环,我们可以遍历整个二维数组,将每个元素赋值为0。最后再次遍历二维数组,以确保整个数组中的元素已经被成功赋值。
另一种使用C++填充二维数组为0的方法是使用 memset
函数。此函数的声明如下:
void * memset ( void * ptr, int value, size_t num );
其作用是将 ptr
指向的前 num
个字节设为 value
。我们可以使用此函数将整个二维数组设为0。
#include <iostream>
#include <cstring>
using namespace std;
int main() {
int arr[3][3];
//将整个二维数组设为0
memset(arr, 0, sizeof(arr));
//输出二维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
这种方法比使用循环语句更简单,但需注意使用 memset
函数的二维数组尺寸:它应该以字节为单位表示。我们可以使用 sizeof
运算符来计算二维数组的大小。
以上是使用C++填充二维数组为0的两种方法。通过循环语句或者 memset
函数,我们可以轻松地实现这个目标。选择哪种方法取决于具体情况,但我们需要确保所使用的方法能够正确地处理整个二维数组,并将其填充为0。