【发布时间】:2020-05-15 04:43:20
【问题描述】:
我试图构建一个程序来使用用户定义的函数计算阶乘,但它给出了一个垃圾值这个程序是 c-cat 准备的赋值
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int accept_num(); // Function call
int fact(); // Function call
void display_num(); // Function call
int main()
{
int num;
num = fact(); //calling factorial
display_num(num); //calling printf
}
//take input
int accept_num()
{
int n;
printf("Enter number: ");
scanf("%d",&n);
return n;
}
//calculate factorial
int fact()
{
int i,num1;
unsigned long long factr=1;
num1 = accept_num();
for(i=1; i<=num1; i++)
{
factr *= i;
}
return factr;
}
void display_num(int num2)
{
printf("Answer = %llu",num2);
}
【问题讨论】:
-
你从
fact返回int而不是unsigned long long -
display_num也应该做相应的修改。
标签: c function dynamic-programming factorial