Увидел задачку, немного в ступор впал:
#include «stdio.h»
int fact_rec2(int n)
{
int a;
if(n<1) return 0;
if(n==1) return 1;
a=n*fact_rec2(n-1);
return a;//почему эту строчку можно не писать?
}
int main(int argc, char* argv[])
{
int x;//=0;
scanf(«%d»,&x);
printf(«%d\n»,fact_rec2(x));
return 0;
}
Ето какая-та фича рекурсивных функций или оптимизации. Или я просто туплю?