我编得这个这个c语言程序,即输入一个3*3数组,输出原数组及求和。其他都没问题,就是求和的时候出错。

#include<stdio.h>add(intstr[3][3]){intm,i,j;m=0;for(i=0;i<=2;i++)for(j=0;j<=2;j++)m+=... #include<stdio.h>
add(int str[3][3])
{
int m,i,j;
m=0;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
m+=str[i][j];
return(m);
}
int main()
{
int i,j,m;
int a[3][3];
printf("now please input the juzhen:\n");
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
}
m=add(a[3][3]);
printf("the juzhen:\n");
for(i=0;i<=2;i++)
{ printf("\n");
for(j=0;j<=2;j++)
printf("%d ",a[i][j]);
}printf("\n");
printf("now the add:\n");
printf("%d\n",m);
}
展开
 我来答
steelsimon
2012-12-27 · TA获得超过133个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:105万
展开全部
数组下标操作含义你明白吗?
a[3][3] 是一个常指针,不是整个数组。
一般数组参数是这样传的 void Add(const int* a, const size_t num), 第一个是数组指针,第二个表示它的长度。二维数组类似。
有a[3][3]做参数这样搞得吗?
Geomaticsyr
2012-12-27 · TA获得超过341个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:160万
展开全部
额,楼主,你这样写,代码能通过吗,二维数组不能这样传递的。
改为:m=add(a);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wincap
2012-12-27
知道答主
回答量:6
采纳率:0%
帮助的人:9436
展开全部
#include<stdio.h>
int add(int str[3][3])
{
int sum,i,j;
sum=0;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
sum+=str[i][j];
return(sum);
}
void main()
{
int i,j,m;
int a[3][3];
printf("now please input the juzhen:\n");
for(i=0;i<=2;i++)
{ for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
}
m=add(a);
printf("the juzhen:\n");
for(i=0;i<=2;i++)
{ printf("\n");
for(j=0;j<=2;j++)
printf("%d ",a[i][j]);
}printf("\n");
printf("now the add:\n");
printf("%d\n",m);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zdk66
2012-12-27 · 超过10用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:22.3万
展开全部
m=add(a),传递数组时传递数组的首地址,即数组名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式