醉拳八哥 发表于 2015-6-3 15:12:22

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

/********************************************************************
         在屏幕上输入一个数,利用递推的方式求这个数的阶乘
********************************************************************/
#include <stdio.h>
void main ()
longint recursion( int p);
{
   longint 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 );
}

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



小人 发表于 2015-6-3 15:33:14


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

        longint 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);
}

醉拳八哥 发表于 2015-6-3 15:38:46

小人 发表于 2015-6-3 15:33


为什么有时候子函数声明在main里面,有时候在mai前面,我看小甲鱼视频的时候?
而且keil 里面51编程的子函数都声明在main前面,也就是花括弧外面?

小人 发表于 2015-6-3 15:42:18

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

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

你写在 main() (你函数的位置){}   
里外不是的地方{:9_224:}

醉拳八哥 发表于 2015-6-3 15:54:34

小人 发表于 2015-6-3 15:42
要么 直接写在 主函数上面 要么里面   

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


我晕,这么低级的错误,让你鄙视了,我也鄙视自己:funk:
页: [1]
查看完整版本: 好吧,我知道这不是一个好习惯。