鱼C论坛

 找回密码
 立即注册
查看: 5546|回复: 17

求解答-—函数的格式

[复制链接]
发表于 2013-5-14 20:48:08 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 起什么名字 于 2013-5-16 14:48 编辑


求5!

#include <stdio.h>
void main()
{
      int i;
      int jiecheng(int i);      //
声明函数,但是我去掉这个声明程序也正常运行,求解
      
      for(i=1;i<=5;i++)
      {
            
            printf("%d!  =%d\n",i,jiecheng(i));
      }
}


int jiecheng(int n)
{
      
      static int f=1;
      
      f=f*n;
      
      return f;
}

帮我看看上面的程序
(该程序在C语言教学视频第39课程,有小改动)

好像有介绍说把函数的定义放在函数声明前面,就无需定义。是吗?

(视频中总是习惯把main函数放在后面,将定义的函数放在前面,与之前的"习惯"很别捏,不好接受~
好几个视频中都是这样,就纳闷了。)
想知道规范的编程格式是怎样的?(外面的公司对编写程序有哪些要求,好奇,好奇啊~!)


小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-14 21:02:55 | 显示全部楼层
强烈支持楼主ing……
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-14 21:59:17 | 显示全部楼层
c语言的执行的特点是模块化,自上而下运行,如果你函数的定义写在主函数前面,那么在执行主函数时,已经定义的函数已经执行过了,所以主函数中不需声明。但是如果你写在主函数下,又没有声明这个函数,那系统一般会给出警告,函数未定义,或者出现错误。而虽然你没有声明,结果也对了,是因为在主函数中当你在没有声明的情况下调用函数时,在C语言内部会对该函数进行查找,在本程序中是属于内部函数,所以查找成功,程序运行出了结果。但是实际上执行的时间复杂度增加,程序会延迟给出结果。
建议,不管那种情况,请加上函数声明,这是一个好习惯。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-14 23:51:34 | 显示全部楼层
虽然不懂但貌似很厉害的样子╮(╯▽╰)╭
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-14 23:54:53 | 显示全部楼层
不同的编译器 执行的逻辑不一样,我的理解是:你把主函数和 这个方法写在一起,就不用声明 方法了。这是在C语言里。  但是在java里面 就必须声明,不然 编译就通不过。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-5-15 09:40:42 | 显示全部楼层

懂的好多,理论那是刚刚的!
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-5-15 09:43:02 | 显示全部楼层
qiancheng 发表于 2013-5-14 23:54
不同的编译器 执行的逻辑不一样,我的理解是:你把主函数和 这个方法写在一起,就不用声明 方法了。这是在C ...

学了多少种语言?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-15 09:46:34 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-15 10:39:17 | 显示全部楼层
起什么名字 发表于 2013-5-15 09:40
懂的好多,理论那是刚刚的!

呵呵,明白了吗?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-15 10:46:06 | 显示全部楼层
指间的阳光 发表于 2013-5-14 21:59
c语言的执行的特点是模块化,自上而下运行,如果你函数的定义写在主函数前面,那么在执行主函数时,已经定义 ...

胡说 没这回事 宿主程序从main开始
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-5-15 19:13:12 | 显示全部楼层
指间的阳光 发表于 2013-5-15 10:39
呵呵,明白了吗?

想请教一下,视频看了几个,听的懂,但是不会用程序实现,这样怎么办?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-15 21:45:42 | 显示全部楼层
楼主加油,鱼C加油!我们都看好你哦!
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-15 22:10:58 | 显示全部楼层
起什么名字 发表于 2013-5-15 19:13
想请教一下,视频看了几个,听的懂,但是不会用程序实现,这样怎么办?

你把函数的实现,调用弄明白就好了,还有就是要有数学的逻辑思维,建立模型,设计算法,然后编程程序。编程就想解决一个问题,你把具体的实现步骤弄明白,然后用代码写起来就容易了。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-15 23:37:56 | 显示全部楼层
如果是你写的那个程序,前面不声明jiecheng这个函数的话,在VC++6.0中会编译不通过的,我感觉主函数要用的函数如果在主函数后定义的话,应该先在主函数前声明它
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-16 00:01:23 | 显示全部楼层
好奇,好奇啊~!
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-5-16 14:45:37 | 显示全部楼层
Skyline 发表于 2013-5-15 23:37
如果是你写的那个程序,前面不声明jiecheng这个函数的话,在VC++6.0中会编译不通过的,我感觉主函数要用的函 ...

好多视频都有一些实战习题,我都不会做,怎么办
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-16 15:05:26 | 显示全部楼层
起什么名字 发表于 2013-5-16 14:45
好多视频都有一些实战习题,我都不会做,怎么办

多看、多学、多练!!!!!!!!
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-5-16 20:39:48 | 显示全部楼层
起什么名字 发表于 2013-5-15 09:43
学了多少种语言?

c   c#  和JAVA 三种。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-28 09:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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