怎样给二维数组整体赋值?

怎样给二维数组整体变换值?
例如一个二维数组
int a[5][5] ,它里面每行都是1 2 3 4 5 ,现在要求把a[5][5]变为每行是0 0 0 0 0.,该怎么办?
我只知道最笨的办法:for循环套for循环...
哪位大侠知道?
在线等
1楼的...服了!如果他是个a[1000][1000]的怎么办啊!我一头撞死啊!
晕晕...如果我的a数组经过了一些运算,它里面的值改变了,但我现在要用它来重新运算另一些东西(不要说还不如重新定义一个比如b[1000][1000]之类的,要是能这样我早用了...),所以不是赋初值...怎么弄?

如果清0,可以用memset
int a[5][5]={1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5};
int i,j;
memset(&a[0][0],0,sizeof(int)*5*5);
for (j=0;j<5;j++)
{
for(i=0;i<5;i++)printf("%d ",a[j][i]);
printf("\n");
}
否则,只有最笨的办法:for循环套for循环。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-27
int a[5][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};

晕 在你没赋值时 默认就是0
第2个回答  2010-10-27
for循环套for循环...
不笨啊,最有效的方法
正解
相似回答