如何给一个二维数组全部赋值0
6个回答
展开全部
用memset函数(包含头文件string.h就可以使用了)
比如:
int a[m][n];//
memset(a,0,sizeof(a));
就可以了。
扩展资料:
注意事项
二维数组事实上叫做数组的数组。a[i]是数组名,a[i][j]是数组a[i]的第j个值。数组名表示数组的首地址,所以a[i]是数组a[i]的首地址,不用&来取地址。scanf("%d",&a[i])是不对的。要给二维数组赋值要用两个循环:
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
或者,想把二维数组当一维数组看待:
int *p=&a[0][0];//获取二维数组首地址
for(int i=0;i<6;i++)
{
scnaf("%d",p);
p++;
}
2013-04-02
展开全部
var a:array [0..2000,0..2000] of integer;fliichar(a,sizeof(a),0);适用于任何二维数组,而且复杂度为O(1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用memset函数(包含头文件string.h就可以使用了。)
比如
int a[m][n];//
memset(a,0,sizeof(a));
就可以了
比如
int a[m][n];//
memset(a,0,sizeof(a));
就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是静态数组,这样做
int a[2][2] = {0}
如果是动态数组 ,这样做
int **a = new int*[n];
for(int i=0;i<n;++i)
a[i] = new int[m](0);
上面是定义的时候全部赋0的办法。
如果是定义完后,想要全部赋值0,这样做
for(int i=0;i<n;++i)
for(int j=0;j<m;++j)
a[i][j] = 0;
用2个for嵌套即可
int a[2][2] = {0}
如果是动态数组 ,这样做
int **a = new int*[n];
for(int i=0;i<n;++i)
a[i] = new int[m](0);
上面是定义的时候全部赋0的办法。
如果是定义完后,想要全部赋值0,这样做
for(int i=0;i<n;++i)
for(int j=0;j<m;++j)
a[i][j] = 0;
用2个for嵌套即可
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int data[10][10];
memset(data, '0', sizeof(data));
memset(data, '0', sizeof(data));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询