鱼C论坛

 找回密码
 立即注册
查看: 1764|回复: 4

好吧,我知道这不是一个好习惯。

[复制链接]
发表于 2015-6-3 15:12:22 | 显示全部楼层 |阅读模式

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

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

x
/********************************************************************
           在屏幕上输入一个数,利用递推的方式求这个数的阶乘
********************************************************************/
#include <stdio.h>
void main ()
long  int recursion( int p);
{
   long  int a, b;
        printf("please input a num:\n");
        scanf("%ld",&a);
    b = recursion(a);
        printf("the value is:%ld\n",b);

}
long int recursion (int p)
{
    long int temp =0;
        if (p<0)
        {
        printf("the num is error!!!");
        }
    else if (p==0||p==1)
        {
        temp=1;
        }
        else if (p>1)
        {
            temp=recursion(p-1)*p;

        }
         return (temp );
}

程序不知道出了什么问题,每次编译的时候总是有错误,查了半小时,没找到问题,只能求助万能的鱼油了。
12.jpg


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-6-3 15:33:14 | 显示全部楼层

  1. #include <stdio.h>
  2. void main()
  3. {      
  4. long int recursion(int p);// 应该申明在函数里面  也就是 {}花括号里面

  5.         long  int a, b;
  6.         printf("please input a num:\n");
  7.         scanf("%ld", &a);
  8.         b = recursion(a);
  9.         printf("the value is:%ld\n", b);

  10. }
  11. long int recursion(int p)
  12. {
  13.         long int temp = 0;
  14.         if (p<0)
  15.         {
  16.                 printf("the num is error!!!");
  17.         }
  18.         else if (p == 0 || p == 1)
  19.         {
  20.                 temp = 1;
  21.         }
  22.         else if (p>1)
  23.         {
  24.                 temp = recursion(p - 1)*p;

  25.         }
  26.         return (temp);
  27. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-3 15:38:46 | 显示全部楼层

为什么有时候子函数声明在main里面,有时候在mai前面,我看小甲鱼视频的时候?
而且keil 里面51编程的子函数都声明在main前面,也就是花括弧外面?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-6-3 15:42:18 | 显示全部楼层
醉拳八哥 发表于 2015-6-3 15:38
为什么有时候子函数声明在main里面,有时候在mai前面,我看小甲鱼视频的时候?
而且keil 里面51编程的子 ...

要么 直接写在 主函数上面 要么里面   

你写在 main() (你函数的位置){}     
里外不是的地方  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-3 15:54:34 | 显示全部楼层
小人 发表于 2015-6-3 15:42
要么 直接写在 主函数上面 要么里面   

你写在 main() (你函数的位置){}     

我晕,这么低级的错误,让你鄙视了,我也鄙视自己:funk:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-20 02:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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