Language: C

double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}

Compiler output:
main.c: In function 'factorial':
main.c:1:40: error: invalid type argument of unary '*' (have 'double')
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
      |                                        ^~~~~~~~~~~~~~~
main.c: At top level:
main.c:1:71: error: return type defaults to 'int' [-Wimplicit-int]
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
      |                                                                       ^~~~
main.c: In function 'main':
main.c:1:87: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
      |                                                                                       ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
main.c:1:87: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
      |                                                                                       ^~~~~
main.c:1:87: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:1:103: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
      |                                                                                                       ^~~~~~
main.c:1:103: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:103: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:1:103: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:132: error: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
      |                                                                                                                                    ^~~~
main.c:1:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
  +++ |+#include <stdlib.h>
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
main.c:1:132: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
    1 | double factorial(double n){if(n)return *factorial(n-1);else return 1;}main(){double n;scanf("%lf",&n);printf("%.f\n",factorial(n));exit(0);}
      |                                                                                                                                    ^~~~
main.c:1:132: note: include '<stdlib.h>' or provide a declaration of 'exit'