| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 383 人关注过本帖
标题:C语言函数问题
只看楼主 加入收藏
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
C语言函数问题
我想做一个函数,把一个数组里面的所有单数相加,然后返回。
但是遇到了问题,请大家帮我解答一下!
#include <stdio.h>
int AddArrsingleNumber(int arr[])
{
    int Msize=sizeof(arr)/sizeof(arr[0]);
        //printf("Msize is %d\n",Msize);//这里输出Msize=0;为什么?难道上面的一条不对吗?
    int count=0;
    for (int i=0;i<Msize;i++)
    {
        if (arr[i]%2 != 0)
        {
            count+=arr[i];
        }
    }
    return count;
}
int main()
{
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    int getNumbe=0;
    getNumbe=AddArrsingleNumber(arr);
    printf("Add single number in array get %d\n",getNumbe);//输出是1
    return 0;
}
搜索更多相关主题的帖子: return C语言 include 
2013-01-01 16:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
数组作为参数被传入函数中,变量名蜕化为指针,用sizeof()是求不出数组尺寸的。另外附加一个参数,把数组元素数目传进去。

授人以渔,不授人以鱼。
2013-01-01 16:51
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
收藏
得分:0 
回复 2楼 TonyDeng
一定要这样吗?没有其他方法了吗

我不知道我能否当程序员,但我依然热爱编程!
2013-01-01 16:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
是的,没有。

授人以渔,不授人以鱼。
2013-01-01 16:57
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
收藏
得分:0 
回复 4楼 TonyDeng
哦哦,那好吧。!
还有一个问题哦,为什么自定义的函数必须写在main函数的上面?

我不知道我能否当程序员,但我依然热爱编程!
2013-01-01 17:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不是一定要写在上面,而是应该写在调用这个函数的代码的函数的前面。编译器要求,在你使用一个函数之前,它必须事先知道它的函数原型(即声明),否则它很难正确编译那个指令。你只要满足它这个要求就是了。

授人以渔,不授人以鱼。
2013-01-01 17:09
XQwindow
Rank: 2
等 级:论坛游民
帖 子:121
专家分:64
注 册:2013-1-1
收藏
得分:0 
回复 6楼 TonyDeng
哦哦,,懂了!谢谢

我不知道我能否当程序员,但我依然热爱编程!
2013-01-01 17:30
快速回复:C语言函数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016467 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved