周同学 发表于 2018-7-20 14:44:53

为什么这个程序只能我输数 ,不输出结果 . 求大佬指点!

#include <stdio.h>


long recursion(int n);

void main()
{
        int s;
        long result;
        printf("请输入一个数:\n");
        scanf("%d\n",&s);

        result = recursion(s);
        printf("%d! = %ld\n",s,result);
}

long recursion(int n)
{
        long temp_result;


        if( n < 0)
        {
                printf("n<0输入错误,请重新输入\n");
        }

    else if( n==0 || n==1 )
        {
                temp_result = 1;
        }
        else
        {
                temp_result = recursion(n-1)*n;
        }
        return temp_result;
}
为什么这个程序只能我输数 ,不输出结果 . 求大佬指点!

TyCk 发表于 2018-7-20 14:47:33

主函数写错了吧,应该是int main(void){}吧。

BngThea 发表于 2018-7-20 14:51:55

scanf("%d\n",&s);
改成
scanf("%d",&s);

周同学 发表于 2018-7-20 15:02:27

谢谢大佬!
页: [1]
查看完整版本: 为什么这个程序只能我输数 ,不输出结果 . 求大佬指点!