#include<stdio.h>
int fact(int);
int main()
{
int a, b;
printf("enter a number : ");
scanf("%d",&a);
b=fact(a);
printf("\n%d",b);
}
int fact(int y )
{
int d=1;
for(int i = 1;i<=y;i++)
d*=i;
d= d>0 ? d : 0;
}
If I remove the last statement , O/P is a+1. I have checked this with other functions and the function returns correct values if I use if statement or conditional operator. I want to know why this happens. Thank You.
Aucun commentaire:
Enregistrer un commentaire