鱼C论坛

 找回密码
 立即注册
查看: 2391|回复: 7

函数定义问问题

[复制链接]
发表于 2011-11-24 01:33:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void main()
{
        double power(double  x,double  y);
        double x=2.0,y=3.0,z;
        z=power(x,y);
        printf("%1f to the power of%1f is %1f\n",x,y,z);
}
double power(double x,double y)
{
double z=x;
while(--y)
{
        z*=x;
}

return z;
}    我想问问 为什么有Pow不用 需要自己去定义呢? 弄得这么麻烦 下面的double power(double x,double y)一下都多余啊    甲鱼哥这样是为了让我们理解函数的过程    我这样理解对不? 如果不是,求高手指点我该怎么去理解函数定义 请详细讲解 我是小白!


                               
登录/注册后可看大图
该贴已经同步到 空手套小白狼的微博
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-24 07:12:20 | 显示全部楼层
本帖最后由 ken 于 2011-11-24 08:08 编辑

1. double power(double  x,double  y)是在main函数声明,power函数的作用域只在main函数内,如果其他函数需要调用的话需要重新声明。
2. 如果把 double power(double  x,double  y);放到main函数外面,#include下面的话它的作用域就是全局的。
3. 如果以后的代码越来越多,用自己定义的函数,方便函数之间的调用和封装,使得代码更加规范,简洁。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-24 08:20:27 | 显示全部楼层
这最后一个问题问得……不知道怎么回答了,你是没办法区分定义和声明,还是定义的意思,作用域?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-24 11:34:51 | 显示全部楼层
是的 应该是了解库函数的实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-24 13:13:34 | 显示全部楼层
有点理解了!:D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-24 13:15:15 | 显示全部楼层
能否举个列子 定义函数的封装和调用 让我知道下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-24 18:11:15 | 显示全部楼层
这些可以去百度一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-24 18:13:03 | 显示全部楼层
你发的例子就是函数调用的例子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 12:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表