C语言中,如果我要将一个二维数组的所有元素全部初始化为1,我可以这样做吗?

intss[m][n]={1};如果这样不对,那我应该怎么做简单而且正确呢?不可能非要把所有的数都写一遍吧。万一有10000个元素怎么办?谢谢... int ss[m][n]={1};如果这样不对,那我应该怎么做简单而且正确呢?不可能非要把所有的数都写一遍吧。万一有10000个元素怎么办?谢谢 展开
 我来答
liujoejoe
2008-09-11 · TA获得超过1518个赞
知道小有建树答主
回答量:1800
采纳率:0%
帮助的人:859万
展开全部
这样当然不对。这样的结果是只有SS[0][0]被附值为1。其他全是0。
想为数组附值酒药用循环做。比如SS[m][n]
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
ss[i][j]=1; 这样就给所有元素附值为1了;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huang1196
2008-09-10 · TA获得超过1469个赞
知道小有建树答主
回答量:472
采纳率:0%
帮助的人:631万
展开全部
先像楼上说得一样循环出一个数组C[][]所有元素为1
以后如果要用到初始ss为1的话
直接memcpy(ss, C, sizeof(C));直接拷贝内存,很快
示例:
#include<iostream>
int main()
{
int c[100][100];
int ss[100][100];
for(int i = 0; i < 100; i++)
{
for(int j = 0; j < 100; j++)
{
c[i][j] = 1;
}
}
memcpy(ss, c, sizeof(c));
return 0;
}
这样只需要循环一次生成所有元素为1的数组
而以后使用memcpy,速度相当快
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lanni1987
2008-09-10
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
可以用一个双重循环呀
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
ss[i][j]=1;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weide361
2008-09-10 · TA获得超过604个赞
知道小有建树答主
回答量:287
采纳率:0%
帮助的人:346万
展开全部
那你只好用循环赋值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
球球启蒙
2008-09-10 · TA获得超过310个赞
知道小有建树答主
回答量:302
采纳率:0%
帮助的人:152万
展开全部
使用双重for循环赋值,memset不可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式