如何给一个二维数组全部赋值0

 我来答
大野瘦子
高粉答主

2019-09-22 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:33.1万
展开全部

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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6fe74e2
2013-04-01 · TA获得超过6592个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:243万
展开全部
可以用memset函数(包含头文件string.h就可以使用了。)

比如

int a[m][n];//

memset(a,0,sizeof(a));

就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜神月YOONA
推荐于2017-09-30 · TA获得超过339个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:251万
展开全部
如果是静态数组,这样做
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嵌套即可
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-04-01 · TA获得超过380个赞
知道小有建树答主
回答量:618
采纳率:50%
帮助的人:225万
展开全部
int data[10][10];
memset(data, '0', sizeof(data));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式