#include <stdio.h>
int fact(int i);
int main(void)
{
printf("%d\n",fact(4));
return 0;
}
int fact(int i)
{
if(i==1) return 1;
else return i*fact(i-1);
}
これなんですが
int fact(int i)
{
if(i==1) return 1;
else return i*fact(i-1);
}の場所の if(i==1) return 1;なんですが
何で return 1なんですが?しかしreturn 1なのに1ではなく、ちゃんと階乗された値が表示されます
何故 return 1;で1と表示されずに ちゃんと表示される理由をおしえてください