| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:关于函数的问题
只看楼主 加入收藏
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:9 
关于函数的问题
#include<stdio.h>
float zc(int x)
{
    float z;
    z=2*3.14*x;
    return z;
}
float mj(int y)
{
    float m;
    m=3.14*y*y;
    return m;
}
main()
{
    int r;
    float l,s;
    scanf("%d",&r);
    l=zc(r);
    s=mj(r);
    printf("%f\n%f\n",l,s);
}这个求周长面积的函数,我看的明白,逻辑思维也有,代码也明白。但是我想请教的是下面这个函数,如下
#include<stdio.h>
int power(int m,int n);
main()
{
    int i;
    for(i=0;i<10;++1)
        printf("%d%d%d\n",i,power(2,i),power(-3,i));
    return 0;
}
int power(int base,int n)
{
    int i,p;
    p=1;
    for(i=1;i<=n;++i)
        p=p*base;
    return p;
}
为什么都是函数 我这个求幂函数就不明白啊 而且感觉不符合函数的格式啊 恳请好心人细细讲解下 最好能每一步讲下 感激不尽
搜索更多相关主题的帖子: 函数 include return power 
2012-02-15 19:02
chenliangjs
Rank: 2
等 级:论坛游民
帖 子:34
专家分:89
注 册:2012-1-14
收藏
得分:5 
代码都写错了。。。for循环里是++i,或者i++。。。不是++1。代码很简单。。求的是2的0到9次方。。。和-3的0到9次方。。。把输出间隔开看就清楚多了。。。
2012-02-15 19:39
snakelazixp
Rank: 2
等 级:论坛游民
帖 子:51
专家分:94
注 册:2012-2-13
收藏
得分:0 
没明白楼主是哪里没有看明白,power函数是先声明后定义的。。。。。。。。。。。。。
2012-02-15 19:47
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
先谢谢您 那个是笔误 是++i   貌似明白了 但是感觉格式反了吧 要我写 我就这样写
#include<stdio.h>
int power(int base,int n)
{
    int i,p;
    p=1;
    for(i=1;i<=n;++i)
        p=p*base;
    return p;
}
int power(int m,int n);
main()
{
    int i;
    for(i=0;i<10;++1)
        printf("%d%d%d\n",i,power(2,i),power(-3,i));
    return 0;
}

2012-02-15 20:28
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
int power(int base,int n)
{
    int i,p;
    p=1;
    for(i=1;i<=n;++i)
        p=p*base;
    return p;
}
这个不懂 base是什么 p是什么 p=p*base是什么
2012-02-15 20:35
daydreary
Rank: 2
等 级:论坛游民
帖 子:15
专家分:37
注 册:2012-2-15
收藏
得分:5 
相当于把pow()这个函数自己写出来了
base是基数的意思。。p是乘方数,比如a^2 2表示2次方,a则是基数
for(i=1;i<=n;++i)   p=p*base; 给p初值是1,因为任何数和1相乘都不变,例如在主函数中power(-3,i),则是-3的i次方。
运行时p=1*(-3),p=-3*(-3)…………运行第一次p=-3,第二次p=9。。以此类推
2012-02-15 21:10
王逢
Rank: 2
等 级:论坛游民
帖 子:30
专家分:32
注 册:2011-10-7
收藏
得分:5 
你应该是新手吧,你还没有搞清楚函数的调用。比如pow(-3,9)表示-3的九次方。9是实参,base是形参,调用时实参赋给形参
2012-02-15 21:20
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
谢谢 大概明白了 很感谢
2012-02-15 21:31
guang0725
Rank: 2
等 级:禁止访问
帖 子:70
专家分:70
注 册:2011-9-5
收藏
得分:0 
先声明的,跟把子函数写主函数前面的方式是一样的
2012-02-16 17:10
yxiangyxiang
Rank: 3Rank: 3
来 自:/\/\/\/\/
等 级:论坛游侠
帖 子:130
专家分:186
注 册:2012-1-29
收藏
得分:5 
#include <stdio.h>
int power( int a, int n);
int main( void )
{
    printf("4^5 = %d\n", power( 4, 5));

    return 0;
}
int power( int a, int n )
{
    int    i, p=1;

    for( i=0; i<n; i++ )
        p *= a;
   
    return( p );
}
2012-02-16 18:34
快速回复:关于函数的问题
数据加载中...
 
   



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

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