C程序问题,输入一个数组,然后求所有元素的和!

部分代码已经给出,喊你用函数来做。我做了一部分,可是不对。是不是数组不能直接赋值,需要用指针来传值?代码如下:#include<stdio.h>/*本部分代码功能建议:函... 部分代码已经给出,喊你用函数来做。我做了一部分,可是不对。是不是数组不能直接赋值,需要用指针来传值?代码如下:
#include <stdio.h>

/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
int fun(int a[3][3]);
int fun(int a[3][3])
{
int i, j , sum;
sum=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
sum+=a[i][j];
}
}
return sum;
}
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */

void main()
{
int num[3][3], i, j, sum;

printf("Please input the 3x3 Matrix:\n");
for (i=0; i<3; i++)
{
for (j=0; j<3; j++)
{
scanf("%d", &num[i][j]);
}
}

/* 本部分代码功能建议:调用用户自定义函数求矩阵所有元素之和 */
/* User Code Begin(Limit: lines<=1, lineLen<=50, 考生可在本行后添加代码、最多1行、行长<=50字符) */
sum=fun(num[3][3]);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */

printf("\nsum=%d\n", sum);

}

/* User Code Begin(考生在此后根据设计需要完成程序的其它部分,如函数的定义,行数不限) */
那么顺便问一下,这道题可不可以用指针来做啊!!!代码又是怎样的啊~~
展开
 我来答
snoopylie
2012-05-31 · TA获得超过1275个赞
知道小有建树答主
回答量:2396
采纳率:33%
帮助的人:823万
展开全部
欢迎采纳:

把sum=fun(num[3][3]); 改为 sum=fun(num);就可以了

若换成指针可做如下修改:
int fun(int* a, int nlen, int jlen );
int fun(int* a, int nlen, int jlen )
{
int i, j , sum;
sum=0;
for(i=0;i<nlen;i++)
{
for(j=0;j<jlen;j++)
{
sum+=a[i][j];
}
}
return sum;
}

main函数调用过程为:sum=fun((int*)num,3,3);
匿名用户
2012-05-31
展开全部
sum=fun(num[3][3]);
//改为
sum=fun(num);
//即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友452ee4f
2012-05-31 · TA获得超过101个赞
知道答主
回答量:143
采纳率:0%
帮助的人:44.1万
展开全部
java路过。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式