计算N阶乘,ifelse咋回事

#include<stdio.h>
int facl(int n)

if (n <= 1);
return 1;
     
else  return (n * facl(n - 1)) ;

int main()

int n = 0;
int ret = 0;
scanf_s("%d", & n);
    ret = facl(n);
    printf("%d\n", ret);
return 0;

你if后面不要写分号,相当于白判断了

if…else后面还是加上大括号{ }比较好

#include<stdio.h>
int facl(int n){
    if (n <= 1) { //; 分号结束了if语句,后面else应该有编译报错
        return 1;
    }  
    else { 
          return (n * facl(n - 1)) ;
      }
}